时间:2021-05-22
如下所示:
#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) #这样就将指定的层参数没有恢复以上这篇tensorflow 恢复指定层与不同层指定不同学习率的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
很多正在入门或刚入门TensorFlow机器学习的同学希望能够通过自己指定图片源对模型进行训练,然后识别和分类自己指定的图片。但是,在TensorFlow官方入
本文实例讲述了jquery简单实现网页层的展开与收缩效果。分享给大家供大家参考。具体如下:这里演示了jquery网页层展开、层收缩代码,带缓冲动画效果,点击指定
调用方法onmousedown="MyMove.Move('InfoKuang',event,1)"想问的问题是:如何当我拖到一个指定的地方时层自动吸到指定地方
本文通过两个方法:(1)计算总的页数。(2)查询指定页数据,实现简单的分页效果。思路:首先得在DAO对象中提供分页查询的方法,在控制层调用该方法查到指定页的数据
/*说明:可以让指定的层浮动到网页上的任何位置,当