0

我正在学习tensorflow并使用预先训练过的权重的alexnet进行实验。Tensorflow)为什么变量在恢复后没有分配?

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

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

为什么会发生这种情况?所有的代码(甚至,tensorflow官方网站)刚刚推出的代码来恢复:

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

但这代码不会对这些变量有任何影响。

结果画面是如下: enter image description here

正如所看到的,恢复之后,通过称为 'session.run(' CONV /内核:0' )执行 'CONV2 /内核' 的重量是从不同一个来自'model- + 13000.ckpt'

我想很多人都会为这个问题而苦苦挣扎。

谢谢

回答

1

如果恢复从检查点你的模型,你不希望使用tf.global_variables_initializer()了。 (你只是做了第一次创建模型的训练开始前初始化的权重,否则你基本上是从头开始一遍又一遍。)

这应该更好地工作:

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