【问题标题】:Tensorflow Checkpoints saving for each step为每个步骤保存 TensorFlow 检查点
【发布时间】:2021-10-24 11:50:41
【问题描述】:

我正在使用 Tensorflow 对象检测来训练一个两类模型。训练时,训练从 0 开始,分 100 步进行(每 100 步查看日志),当步长达到 1000(100、200、300、400、500 ......步)时,它会执行评估,我可以在 tensorboard 中查看结果。在 1000 步之后,检​​查点会为每一步(如 1001、1002、1003 ......)保存,并且每一步也会进行评估。 为什么会这样?

Tensorflow 版本:nvidia-tensorflow 1.15

培训基于:https://colab.research.google.com/github/google-coral/tutorials/blob/master/retrain_ssdlite_mobiledet_qat_tf1.ipynb

【问题讨论】:

    标签: tensorflow object-detection object-detection-api


    【解决方案1】:

    我不确定在 1000 之后的每一步是否保存权重。

    如果你使用的是基于 slim 的 trainer.py。 如果您想更改 .ckpt 模型保留的数量,您必须将第 370 行更改为:

    saver = tf.train.Saver(
    keep_checkpoint_every_n_hours=keep_checkpoint_every_n_hours, max_to_keep=10)
    

    在这种情况下,您将保留最后 10 个 .ckpt

    如果您想更改 .ckpt 的频率,您必须在 slim.learning.train 中添加 (第 397 行)

    save_interval_secs=X
    

    其中 X 是以秒为单位的频率

    【讨论】:

      【解决方案2】:

      我找到了解决方法,但没有深入了解。

      在“python3.6/site-packages/tensorflow_estimator/python/estimator/run_config.py”下的python文件“run_config.py”中,有一个名为“save_checkpoints_steps”的变量被赋值为“_USE_DEFAULT” ,将其更改为1000后,没有问题,并且仅每1000个检查点保存检查点。

      我仍然不知道为什么“_USE_DEFAULT”会为每一步保存检查点

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-10
        • 1970-01-01
        • 2019-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-17
        相关资源
        最近更新 更多