训练张量流模型是否自动保存参数?

gol*_*que 2 machine-learning tensorflow

我运行了演示张量流MNIST模型(在models/image/mnist中)

python -m tensorflow.models.image.mnist.convolutional
Run Code Online (Sandbox Code Playgroud)

是否意味着在模型完成培训后,参数/权重会自动存储在二级存储中?或者我们是否必须编辑代码以包含要存储的参数的"保护程序"功能?

fab*_*ioM 5

不,它们不会自动保存.一切都在记忆中.您必须明确添加保护程序功能以将模型存储到辅助存储.

首先,您创建一个保护程序操作

saver = tf.train.Saver(tf.all_variables())
Run Code Online (Sandbox Code Playgroud)

然后,您希望在列车过程中保存模型,通常是在N步之后.这个中间步骤通常称为"检查点".

  # Save the model checkpoint periodically.
  if step % 1000 == 0:
    checkpoint_path = os.path.join('.train_dir', 'model.ckpt')
    saver.save(sess, checkpoint_path)
Run Code Online (Sandbox Code Playgroud)

然后,您可以从检查点恢复模型:

 saver.restore(sess, model_checkpoint_path)
Run Code Online (Sandbox Code Playgroud)

看看tensorflow.models.image.cifar10具体的例子