使用“ EarlyStopping”,“ save_best_only”,“ ReduceLROnPlateau”和“ TensorBoard”的回调在keras中恢复模型训练

问题描述

我正在针对海量数据训练一个巨大的模型,但问题是我正在训练的集群不允许训练超过两个星期,但是我的模型将花费更多时间。我耐心使用12个纪元来使用EarlyStopping,我耐心使用5个纪元来使用ReduceLROnPlateau,TensorBoard并保存了最佳模型,因为当培训因EarlyStopping而被迫停止时,我不想再从12个纪元开始使用该模型。但是群集现在在两周后停止了训练,而培训并没有因为EarlyStopping而停止,但是已经有3个时期没有改善,所以我想恢复训练,看看是否会再次实现改善,或者再有9个时期之后再进行改善改进EarlyStopping可以阻止它。但是问题是,因为我只保存了最佳模型,所以说在第8个时期之后获得的最佳模型,并且训练继续进行了3个时期,而没有任何改善,直到集群关闭训练为止,所以我有两个选择:要么设置初始时期到8(保存了最佳模型)并从最佳模型恢复训练,或者将初始时期设置为11,但是选项2的问题是我没有第11时期的模型,尽管它不是最好的。因此,我不想从实现最佳模型的第8个时代开始,但我没有在第11个时代访问该模型的权限。我阅读了Keras文档,可以设置save_best_only = False并给出基于{epoch}的文件路径格式。这样一来,我可以从最新模型恢复训练,但我不想自己亲自验证最佳模型。这就是为什么我也使用TensorBoard的原因,但我不知道它是否可以帮助我恢复训练,同时了解最佳性能模型和最新时期的模型。有帮助吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)