Keras在额外的纪元继续训练后正确地保存了检查点 - 初始纪元

时间:2017-07-13 13:13:00

标签: python keras

当我决定训练新模型并保存检查点时,

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

在哪里可以看到时代将被重置。我想要实现的是获取前一次迭代中所有时期的数量,并添加新的时期以获得类似的内容:

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

1 个答案:

答案 0 :(得分:2)

正如您可以在.fit()函数的the doc中读到的那样,有一个参数可以完全实现:

  

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

所以只需添加:

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

在你的例子中,m是第一个要运行的纪元。

我希望这会有所帮助:)