tensorflow saver restore固定的layer

tensorflow 中的saver可以保存和恢复模型,有的情形需要修改网络但需要之前网络结构的参数,例如alexnet最后的1000维要换成需要的维数,则finetune时需要载入fc7之前的参数。
则在创建saver的时候指定restore的变量

saver = tf.train.saver([v for v in tf.trainable_variables() if v.name.split('/')[0]!='fc8'])

在saver的参数中指定要保存或者要恢复的变量即可。
此时执行

saver.restore(sess, model_path)

则只会载入除fc8层以外的参数

你可能感兴趣的:(机器学习,tensorflow)