【问题标题】:Saving weights after model has finished training - Tensorflow模型完成训练后保存权重 - Tensorflow
【发布时间】:2017-09-23 01:06:12
【问题描述】:

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

【问题讨论】:

    标签: machine-learning tensorflow


    【解决方案1】:

    你可以像这样定义一个保护对象:

    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 how-to here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-28
      • 1970-01-01
      • 2020-02-27
      • 2020-11-28
      相关资源
      最近更新 更多