Tensorflow)为什么恢复后没有分配变量?

时间:2017-05-27 12:17:05

标签: tensorflow deep-learning conv-neural-network tensorflow-serving

我正在学习张量流,并使用训练有素的亚历山大重量进行实验。

我在13000次迭代后保存,我试图在恢复后重新训练模型。

但是在恢复之后,权重不会随初始化中使用的值而改变。

为什么会这样?所有代码(甚至是tensorflow官方网站)都只介绍了要恢复的代码:

saver.restore(sess, "/tmp/model.ckpt")

但是这段代码对变量没有任何影响。

结果图如下: enter image description here

如您所见,恢复后,'session.run('conv / kernel:0')执行的称为'conv2 / kernel'的权重与'model- + 13000.ckpt'

我认为很多人都会在这个问题上苦苦挣扎。

谢谢

1 个答案:

答案 0 :(得分:2)

如果您从检查点恢复模型,则不再想要使用tf.global_variables_initializer()。 (你只是在训练开始之前第一次创建模型来初始化权重时这样做,否则你基本上是从头开始重新开始。)

这应该更好:

saver.restore(sess, "/tmp/model.ckpt")
print sess.run('conv/kernel:0')
相关问题