在这里(https://keras.io/callbacks/#modelcheckpoint),您可以通过设置save_best_only,根据验证错误保存最佳模型。
我知道您可以通过将其写入检查点的文件名来保存相应的纪元和验证错误。然而,这意味着可以保存很多模型,我希望这会导致我的GPU出现内存错误。
有没有一种方法可以获得与最终最佳模型相对应的纪元和val损失,而不必将其写入文件名中?
发布于 2018-11-20 08:04:51
这取决于您希望如何处理纪元和验证错误,以及在训练中的什么时间,但您可以很容易地实现自己的回调功能。您希望获得训练指标的是logs
对象,该对象将在每个回调事件中传递给回调(请参阅here)。
例如,如果需要调用某个函数f,并在每个时期结束时显示时期和验证错误,则可以使用LambdaCallback
实现此功能
keras.callbacks.LambdaCallback(on_epoch_end=lambda epoch, logs: f(epoch, logs['val_loss']))
如果您希望使用ModelCheckpoint回调,但又不希望它写入文件,则可以创建一个自定义callback来重写ModelCheck回调并更改保存行为(代码为here)。
(不知道这是否回答了您的问题,不完全确定需求是什么)
https://stackoverflow.com/questions/53380417
复制相似问题