tensorflow - 训练后模型的最后状态是什么?
问题描述
用 拟合模型后model.fit(...)
,可以使用.evaluate()
或.predict()
方法model
。
当我在训练期间使用 Checkpoint 时出现问题。
(假设有 30 个检查点,其中checkpoint_callback = tf.keras.callbacks.ModelCheckpoint(filepath, save_weights_only=True)
)
然后我不太清楚我还剩下什么,这个模型的最后一个状态。
它是最好的吗?还是最新的?
如果是前者,那么 30 个检查点中的一个应该与我留下的模型相同。
如果是后者,最新的检查点应该与我留下的模型相同。
当然,我检查了两种情况,没有一种是正确的。
解决方案
如果您设置 save_best_only=True ,则检查点会保存具有“最佳”性能的时期的模型权重。例如,如果您正在监视“val_loss”,那么它将保存模型以用于验证损失最低的时期。如果 save_best_only=False 则模型将在每个 epoch 结束时保存,而不管被监控的指标的值如何。当然,如果您不对模型保存路径使用特殊格式,则保存权重将在每个 epoch 结束时被覆盖。
推荐阅读
- python - 如何加入迭代中制作的 df 以构建大 df?
- jobs - 一旦主容器在 Jobs/Cron Jobs 中终止,就杀死 Sidecar 容器
- python - 在 sagemath 中访问置换群的元素
- c# - 基于 DataTable 的 NuGet 包舍入到小数点后 2 位
- python - 如何使用 xpath 在 selenium 中进行文本框输入
- python - _ArrayMemoryError: 无法分配
- python - 如何在 Python/Mysql 中迭代日期?'datetime.date' 不可迭代"
- julia - Julia @btime 找不到内部函数
- c# - 每次保存到数据库时如何擦除表中的数据
- python-3.x - 比较 pandas.DataFrame 中列之间的分类变量