模型完成训练后保存重量 - Tensorflow

时间:2016-09-04 13:25:56

标签: machine-learning tensorflow

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

1 个答案:

答案 0 :(得分:0)

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

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关于变量创建,存储和检索的方法here