我运行了TensorFlow的MNIST示范模型(在models/image/mnist目录下),使用以下命令:
python -m tensorflow.models.image.mnist.convolutional
这是否意味着模型训练完成后,参数/权重会自动存储到辅助存储设备中?还是我们需要编辑代码,添加“saver”功能来存储参数?
回答:
不会,它们不会自动保存。所有数据都在内存中。你必须显式地添加一个保存器功能,将模型存储到辅助存储设备中。
首先,你需要创建一个保存器操作:
saver = tf.train.Saver(tf.all_variables())
然后,你希望在训练过程中定期保存模型,通常在每N步之后。这些中间步骤通常被称为“检查点”。
# 定期保存模型检查点。 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
以获取具体示例