如何配置tensorflow legacy/train.py model.cpk输出间隔

Art*_*nov 7 python tensorflow

我试图解决由于过度拟合模型而导致的问题.不幸的是,我不知道如何提高的间隔model.cpklegacy/train.py训练中输出.有没有办法减少每次保存model.cpk和禁用删除之间的时间.我正在培训小型模型,可以满足更高的存储需求.

Iam*_*lie 1

有关保存间隔和要保留的检查点数量,请查看此处: https ://www.tensorflow.org/api_docs/python/tf/train/Saver

从上面的链接
-> max_to_keep
-> keep_checkpoint_every_n_hours

此外,Saver() 构造函数的可选参数允许您控制磁盘上检查点文件的扩散:

max_to_keep 表示要保留的最近检查点文件的最大数量。创建新文件时,旧文件将被删除。如果为 None 或 0,则不会从文件系统中删除任何检查点,但仅将最后一个保留在检查点文件中。默认为 5(即保留 5 个最近的检查点文件。)

keep_checkpoint_every_n_hours:除了保留最新的 max_to_keep 检查点文件之外,您可能还希望每 N 小时的训练保留一个检查点文件。如果您想稍后分析模型在长时间训练期间的进展情况,这可能会很有用。例如,传递 keep_checkpoint_every_n_hours=2 可确保您每 2 小时的训练保留一个检查点文件。默认值 10,000 小时会有效禁用该功能。

我相信如果你使用的话,你可以在训练配置中引用它。在同一旧目录中签出 trainer.py 文件。在第 375 行左右,它引用了 keep_checkpoint_every_n_hours ->

# Save checkpoints regularly.
keep_checkpoint_every_n_hours = train_config.keep_checkpoint_every_n_hours
saver = tf.train.Saver(keep_checkpoint_every_n_hours=keep_checkpoint_every_n_hours)
Run Code Online (Sandbox Code Playgroud)

它没有引用 max_to_keep 行,可能需要将其添加到该脚本中。也就是说,最后,虽然在没有所有信息的情况下很难确定,但我忍不住认为你的处理方式是错误的。收集每个检查点并进行审查似乎并不是处理过度拟合的正确方法。运行张量板并检查训练结果。此外,使用带有评估数据的模型进行一些评估也将提供对模型正在做什么的深入了解。

祝您训练一切顺利!