我正在使用TensorFlow的主管来训练我自己的模型。我按照官方指南将save_model_secs
设置为600.但是,我奇怪地发现路径log_dir
仅保存最新的五个模型并自动丢弃之前生成的模型。我仔细阅读了源代码supervisor.py
,但找不到相关的删除代码或机制,为什么在整个培训过程中只能保存五个模型。有没有任何暗示可以帮助我?任何帮助都非常感谢。
答案 0 :(得分:0)
tf.train.Supervisor
有saver
个参数。如果没有给出,它将使用默认值。这被配置为仅存储最后五个检查点。您可以通过传递自己的tf.train.Saver
对象来覆盖它。
See here用于文档。创建Saver
时,基本上有两种方法可以存储更多检查点:
max_to_keep
参数。如果您有足够的存储空间,则传递0或None
会导致所有检查点被保留。Saver
也有一个参数keep_checkpoint_every_n_hours
。这将为您提供一个单独的检查点“流”,将无限期保留。例如,您可以每隔600秒存储一次校验点(通过save_model_secs
参数到Supervisor
),但只保留最近的五个,但另外每个都保存检查点,比方说,30分钟(0.5小时)将全部保留。