Tensorflow迁移学习
finetune
https://zhuanlan.zhihu.com/p/42183653
步骤:构建图结构,截取目标张量,添加新层;加载目标张量以及预训练好的权重;训练新层;全局微调
权重初始化的顺序需要注意一下:先利用全局初始化tf.global_variables_initializer(),再利用saver.restore顺序不能错,否则加载的权重会被重新初始化 。
1
2sess.run(tf.global_variables_initializer())
saver.restore(sess,tf.train.latest_checkpoint("./model_ckpt/mobilenet_v2"))先利用saver.restore从模型中加载权重,再利用tf.variable_initializaer()初始化指定的var_list,顺序可以调换.
1
2saver.restore(sess,tf.train.latest_checkpoint("./model_ckpt/mobilenet_v2"))
sess.run(tf.variables_initializer(var_list=train_var))