我对tensorflow完全陌生,我正在使用他们的seq2seq翻译示例。我查看了translate.py中的代码,并且在一个无限循环中完成了训练,它可以不时检查文件translate.ckpt中的检查点。如何从上次保存的状态开始重新训练Tensorflow seq2seq模型?
因此,如果我停止训练并希望在最后保存的状态后重新启动它,我该怎么做?
感谢
我对tensorflow完全陌生,我正在使用他们的seq2seq翻译示例。我查看了translate.py中的代码,并且在一个无限循环中完成了训练,它可以不时检查文件translate.ckpt中的检查点。如何从上次保存的状态开始重新训练Tensorflow seq2seq模型?
因此,如果我停止训练并希望在最后保存的状态后重新启动它,我该怎么做?
感谢
而是在一个会话发起的变量,你需要从文件恢复变量:
saver = tf.train.Saver()
with tf.Session() as sess:
# Restore variables from disk.
saver.restore(sess, "/tmp/model.ckpt")
print("Model restored.")
# Do some work with the model
注意到你的模型只是一个变量的值。为了恢复它们,你需要一个具有相同变量名称的图表。可能需要执行的操作才能计算结果。
了解更多关于在这里:
https://www.tensorflow.org/versions/r0.11/how_tos/variables/index.html#restoring-variables
我想通了所以认为我应该回答。 seq2seq示例默认执行此操作。如果您停止训练循环并重新启动它,它会查找保存的检查点,并从上次停止的地方重新开始训练。