【问题标题】:Does training tensorflow model automatically save parameters?训练tensorflow模型会自动保存参数吗?
【发布时间】:2016-08-15 08:02:25
【问题描述】:
我运行demo tensorflow MNIST model(in models/image/mnist) by
python -m tensorflow.models.image.mnist.convolutional
是不是说模型完成训练后,参数/权重会自动存入二级存储?或者我们是否必须编辑代码以包含要存储的参数的“保存”函数?
【问题讨论】:
标签:
machine-learning
tensorflow
【解决方案1】:
不,它们不会自动保存。一切都在记忆中。您必须显式添加保护函数以将模型存储到辅助存储中。
首先你创建一个保护器操作
saver = tf.train.Saver(tf.all_variables())
然后,您希望在训练过程中保存模型,通常是在 N 步之后。这个中间步骤通常被称为“检查点”。
# Save the model checkpoint periodically.
if step % 1000 == 0:
checkpoint_path = os.path.join('.train_dir', 'model.ckpt')
saver.save(sess, checkpoint_path)
然后你可以从检查点恢复模型:
saver.restore(sess, model_checkpoint_path)
查看tensorflow.models.image.cifar10 的具体示例