【问题标题】:Keras correctly saving checkpoints after extra epochs continuing training - initial epochKeras 在额外的时期继续训练后正确保存检查点 - 初始时期
【发布时间】:2017-07-13 13:13:00
【问题描述】:

ModelCheckpoint 在我决定训练新模型并保存我希望保存的检查点时效果很好。但是,当我决定为n 更多的时期训练相同的模型时,我的问题就出现了。问题是 epochs 被重置为 0,这将产生一些模型检查点名称,如下所示:

/checkpoints
    checkpoint-01-0.24.h5
    checkpoint-02-0.34.h5
    checkpoint-03-0.37.h5
              .
              .
    checkpoint-m-0.68.h5
    checkpoint-01-0.71.h5
    checkpoint-02-0.73.h5
    checkpoint-03-0.74.h5
              .
              .
    checkpoint-n-0.85.h5

如您所见,epoch 将被重置。我想要实现的是在以前的迭代中获取所有 epoch 的数量并将其添加到新的 epochs 以获得如下结果:

    checkpoint-(m + 01)-0.71.h5
    checkpoint-(m + 02)-0.73.h5
    checkpoint-(m + 03)-0.74.h5
              .
              .
    checkpoint-(m + n)-0.85.h5

【问题讨论】:

    标签: python keras


    【解决方案1】:

    正如您在.fit() 函数的the doc 中看到的那样,有一个参数可以做到这一点:

    initial_epoch:开始训练的时期(用于恢复之前的训练运行)

    所以只需添加:

    model.fit(..., initial_epoch=m)
    

    在您的示例中,m 是第一个运行的时期。

    我希望这会有所帮助:)

    【讨论】:

    • 根本没有看到那个论点。我看到 func fit_generator() 也有这个额外的参数。
    猜你喜欢
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 2018-01-05
    • 2021-08-06
    • 2018-10-16
    • 2020-05-22
    • 1970-01-01
    相关资源
    最近更新 更多