首页 文章

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

提问于
浏览
1

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

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

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

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

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

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

结果图如下:
enter image description here

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

我想很多人都会在这个问题上挣扎 .

谢谢

1 回答

  • 2

    如果从检查点还原模型,则不再需要使用 tf.global_variables_initializer() . (您只是在第一次创建模型以在训练开始之前初始化权重时执行此操作,否则您基本上是从头开始重新开始 . )

    这应该更好:

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

相关问题