首页 > 解决方案 > 训练后模型的最后状态是什么?

问题描述

用 拟合模型后model.fit(...),可以使用.evaluate().predict()方法model

当我在训练期间使用 Checkpoint 时出现问题。
(假设有 30 个检查点,其中checkpoint_callback = tf.keras.callbacks.ModelCheckpoint(filepath, save_weights_only=True)

然后我不太清楚我还剩下什么,这个模型的最后一个状态。

它是最好的吗?还是最新的?

如果是前者,那么 30 个检查点中的一个应该与我留下的模型相同。
如果是后者,最新的检查点应该与我留下的模型相同。

当然,我检查了两种情况,没有一种是正确的。

标签: tensorflowkerasload

解决方案


如果您设置 save_best_only=True ,则检查点会保存具有“最佳”性能的时期的模型权重。例如,如果您正在监视“val_loss”,那么它将保存模型以用于验证损失最低的时期。如果 save_best_only=False 则模型将在每个 epoch 结束时保存,而不管被监控的指标的值如何。当然,如果您不对模型保存路径使用特殊格式,则保存权重将在每个 epoch 结束时被覆盖。


推荐阅读