【问题标题】:Interval between checkpoints in tensorflow张量流中检查点之间的间隔
【发布时间】:2017-03-11 17:24:03
【问题描述】:

如何在 tensorflow 中指定 2 个连续检查点之间的间隔? tf.train.Saver 中没有选项可以指定。每次,我用不同数量的全局步骤运行模型,我都会在检查点之间获得一个新的间隔

【问题讨论】:

    标签: tensorflow checkpoint


    【解决方案1】:

    tf.train.Saver 是用于编写检查点的“被动”实用程序,它仅在其他代码调用其.save() 方法时才编写检查点。因此,检查点的写入速度取决于您用于训练模型的框架:

    • 如果您使用低级 TensorFlow API (tf.Session) 并编写自己的训练循环,则只需在自己的代码中插入对 Saver.save() 的调用即可。一种常见的方法是根据迭代次数来执行此操作:

      for i in range(NUM_ITERATIONS):
        sess.run(train_op)
        # ...
        if i % 1000 == 0:
          saver.save(sess, ...)  # Write a checkpoint every 1000 steps.
      
    • 如果您使用为您编写检查点的tf.train.MonitoredTrainingSession,您可以在构造函数中指定检查点间隔(以秒为单位)。默认情况下,它每 10 分钟保存一个检查点。要将其更改为每分钟,您可以:

      with tf.train.MonitoredTrainingSession(..., save_checkpoint_secs=60):
        # ...
      

    【讨论】:

      【解决方案2】:

      谢谢! 这解决了我的问题: tf.contrib.slim.learning.train( 火车操作, 检查点目录, log_every_n_steps=args.log_every_n_steps, 图=g,
      global_step=model.global_step, number_of_steps=args.number_of_steps, init_fn=model.init_fn, save_summaries_secs=300, save_interval_secs=300, saver=saver)

      【讨论】:

        猜你喜欢
        • 2016-09-23
        • 1970-01-01
        • 1970-01-01
        • 2018-06-16
        • 1970-01-01
        • 1970-01-01
        • 2020-09-26
        • 2021-12-19
        • 1970-01-01
        相关资源
        最近更新 更多