【发布时间】:2017-04-09 05:26:06
【问题描述】:
我想使用 Tensorflow v1.0 对我的模型进行多个时期的训练。我的想法是在每个时代保存每个模型。但很快我发现当前的模型将取代最后一个。(我的意思是最后一个会消失。)所以我想知道如何获取所有模型并一个一个恢复它们。我认为这很难并且没有很好的解决方案。感谢您的每一个建议!
【问题讨论】:
标签: python machine-learning tensorflow nlp
我想使用 Tensorflow v1.0 对我的模型进行多个时期的训练。我的想法是在每个时代保存每个模型。但很快我发现当前的模型将取代最后一个。(我的意思是最后一个会消失。)所以我想知道如何获取所有模型并一个一个恢复它们。我认为这很难并且没有很好的解决方案。感谢您的每一个建议!
【问题讨论】:
标签: python machine-learning tensorflow nlp
tf.Train.Saver().save() 有一个参数 global_step。
来自documentation:
Savers 可以使用提供的计数器自动编号检查点文件名。这使您可以在训练模型时在不同的步骤中保留多个检查点。
所以你应该尝试类似:saver = tf.Train.Saver(...)
sess = tf.Session(...)
for epoch in num_epochs:
... train model...
saver.save(sess, "MODEL_NAME", global_step=epoch)
请注意,默认情况下,Tensorflow 仅保留最后 5 个检查点。如果您想保留所有这些,您应该使用以下行中的内容初始化您的 Saver:saver = tf.Train.Saver(max_to_keep=num_epochs)
【讨论】: