tensorflow恢复指定层与不同层指定不同学习率的方法-创新互联
如下所示:
10年积累的成都做网站、成都网站建设、成都外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有平陆免费网站建设让你可以放心的选择与我们合作。#tensorflow 中从ckpt文件中恢复指定的层或将指定的层不进行恢复: #tensorflow 中不同的layer指定不同的学习率 with tf.Graph().as_default(): #存放的是需要恢复的层参数 variables_to_restore = [] #存放的是需要训练的层参数名,这里是没恢复的需要进行重新训练,实际上恢复了的参数也可以训练 variables_to_train = [] for var in slim.get_model_variables(): excluded = False for exclusion in fine_tune_layers: #比如fine tune layer中包含logits,bottleneck if var.op.name.startswith(exclusion): excluded = True break if not excluded: variables_to_restore.append(var) #print('var to restore :',var) else: variables_to_train.append(var) #print('var to train: ',var) #这里省略掉一些步骤,进入训练步骤: #将variables_to_train,需要训练的参数给optimizer 的compute_gradients函数 grads = opt.compute_gradients(total_loss, variables_to_train) #这个函数将只计算variables_to_train中的梯度 #然后将梯度进行应用: apply_gradient_op = opt.apply_gradients(grads, global_step=global_step) #也可以直接调用opt.minimize(total_loss,variables_to_train) #minimize只是将compute_gradients与apply_gradients封装成了一个函数,实际上还是调用的这两个函数 #如果在梯度里面不同的参数需要不同的学习率,那么可以: capped_grads_and_vars = []#[(MyCapper(gv[0]), gv[1]) for gv in grads_and_vars] #update_gradient_vars是需要更新的参数,使用的是全局学习率 #对于不是update_gradient_vars的参数,将其梯度更新乘以0.0001,使用基本上不动 for grad in grads: for update_vars in update_gradient_vars: if grad[1]==update_vars: capped_grads_and_vars.append((grad[0],grad[1])) else: capped_grads_and_vars.append((0.0001*grad[0],grad[1])) apply_gradient_op = opt.apply_gradients(capped_grads_and_vars, global_step=global_step) #在恢复模型时: with sess.as_default(): if pretrained_model: print('Restoring pretrained model: %s' % pretrained_model) init_fn = slim.assign_from_checkpoint_fn( pretrained_model, variables_to_restore) init_fn(sess) #这样就将指定的层参数没有恢复
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文标题:tensorflow恢复指定层与不同层指定不同学习率的方法-创新互联
转载源于:http://pwwzsj.com/article/esogh.html