如果我使用 Keras 回调ModelCheckpoint,并输入save_best_only = True和period=3,模型将如何保存?3 个周期后,它会保存该 3 个周期中的最佳结果,还是仅保存所有 epoch 中的最佳结果?
我使用的一段代码:
mcp = tf.keras.callbacks.ModelCheckpoint("my_model.h5", monitor="val_accuracy",
save_best_only=True, period=3)
Run Code Online (Sandbox Code Playgroud)
首先,根据文档,period不推荐使用 argument ,取而代之的是save_freqargument (如果将其分配给一个int,它将考虑已见批次的数量,而不是纪元)。但为了向后兼容,这个period争论仍然有效。
但为了找到你问题的答案,我们需要检查ModelCheckpoint回调的源代码。实际上,到目前为止所看到的受监控指标的最佳值仅在经过纪元(自上一个检查点以来)时才会更新。并且。由于迄今为止看到的最佳指标值仅与当前 epoch 的监控指标值进行比较,因此我们可以得出结论,仅比较并保存 epoch 、、等epoch 中性能最佳的模型,以及这些模型之间的模型性能epochs被忽略。periodperiod2*period3*period
| 归档时间: |
|
| 查看次数: |
3298 次 |
| 最近记录: |