TensorFlow Supervisor只存储最新的五种型号

时间:2018-03-31 07:40:09

标签: tensorflow deep-learning

我正在使用TensorFlow的主管来训练我自己的模型。我按照官方指南将save_model_secs设置为600.但是,我奇怪地发现路径log_dir仅保存最新的五个模型并自动丢弃之前生成的模型。我仔细阅读了源代码supervisor.py,但找不到相关的删除代码或机制,为什么在整个培训过程中只能保存五个模型。有没有任何暗示可以帮助我?任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:0)

tf.train.Supervisorsaver个参数。如果没有给出,它将使用默认值。这被配置为仅存储最后五个检查点。您可以通过传递自己的tf.train.Saver对象来覆盖它。

See here用于文档。创建Saver时,基本上有两种方法可以存储更多检查点:

  1. 将一些大整数传递给max_to_keep参数。如果您有足够的存储空间,则传递0或None会导致所有检查点被保留。
  2. Saver也有一个参数keep_checkpoint_every_n_hours。这将为您提供一个单独的检查点“流”,将无限期保留。例如,您可以每隔600秒存储一次校验点(通过save_model_secs参数到Supervisor),但只保留最近的五个,但另外每个都保存检查点,比方说,30分钟(0.5小时)将全部保留。