在模型完成训练后节省权重- Tensorflow



在Tensorflow中,我如何在程序完成训练后保存权重和所有其他变量?我希望以后能够使用我训练的模型。提前感谢。

您可以这样定义一个保存程序对象:

saver = tf.train.Saver(max_to_keep=5, keep_checkpoint_every_n_hours=1)

在这种情况下,保存程序被配置为保留五个最新的检查点,并且在训练期间每小时保留一个检查点。

然后可以在主训练循环中定期调用保存程序,如下所示。

sess=tf.Session()
    ...
    # Save the model every 100 iterations
    if step % 100 == 0:
        saver.save(sess, "./model", global_step=step)

在这个例子中,保存程序每100个训练步骤将检查点保存到。/model子目录中。可选参数global_step将此值附加到检查点文件名中。

模型权重和其他值可以在以后通过以下方式恢复,以进行额外的训练或推理:

        saver.restore(sess, path.model_checkpoint_path)

还有许多其他有用的变体和选项。学习它们的一个好地方是关于变量创建、存储和检索的TF指南

最新更新