如何在新数据集的tensorflow中微调预训练模型?在Caffe中,我可以简单地重命名最后一层并为随机初始化设置一些参数.张量流中有类似的东西吗?
假设我有一个检查点文件(deeplab_resnet.ckpt
)和一些代码,用于设置计算图,我可以在其中修改最后一层,使得它具有与新数据集具有类相同的输出数量.
然后我尝试像这样开始会话:
sess = tf.Session(config=config) init = tf.initialize_all_variables() sess.run(init) trainable = tf.trainable_variables() saver = tf.train.Saver(var_list=trainable, max_to_keep=40) saver.restore(sess, 'ckpt_path/deeplab_resnet.ckpt')
然而,这在调用saver.restore
函数时给出了一个错误,因为它期望与保存它的图形结构完全相同.我怎样才能加载除'ckpt_path/deeplab_resnet.ckpt'
文件中最后一层以外的所有权重?我也试过更改Classification
图层名称,但没有运气...
我正在使用tensorflow-deeplab-resnet模型