当我决定训练新的模型并保存检查点时,ModelCheckpoint工作得很好,因为我希望这些检查点被保存。然而,当我决定为n更多的时代训练同样的模型时,我的问题就出现了。问题是,划时代被重置为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发布于 2017-07-15 08:11:40
由于您可以在医生中读取.fit()函数,有一个参数正是这样做的:
开始训练的initial_epoch:时代(用于恢复以前的训练)
因此,只需添加:
model.fit(..., initial_epoch=m)就像你的例子一样,m是第一个运行的时代。
我希望这有帮助:)
https://stackoverflow.com/questions/45081682
复制相似问题