【发布时间】:2018-07-05 18:10:58
【问题描述】:
对于 Keras,我想在返回最佳(在大多数情况下:最低)观察到的指标(例如 val_loss)的时期停止训练。我不希望在耐心“耗尽”之后使用网络状态。
我该怎么做?
【问题讨论】:
标签: neural-network deep-learning keras
对于 Keras,我想在返回最佳(在大多数情况下:最低)观察到的指标(例如 val_loss)的时期停止训练。我不希望在耐心“耗尽”之后使用网络状态。
我该怎么做?
【问题讨论】:
标签: neural-network deep-learning keras
嗯....你不能真正“停止”在最佳精度,因为你需要知道未来的价值来决定是否会有更好的价值!
但是您可以使用另一个回调,ModelCheckpoint,在每个 epoch 之后保存您的模型。
您可以传递参数save_best_only,以便仅当监控值(在您的情况下为'val_loss')优于上次保存的模型时才保存模型。
训练完成后可以加载保存的模型:keras.models.load_model(filepath)
如果您在加载这样的已保存模型时遇到问题,可以尝试在回调中使用save_weights_only=True。然后你会用model.load_weights(filepath) 加载权重。
【讨论】: