tensorflow - TF/Keras:ModelCheckpoint "period" 和 "save_best_only"
问题描述
如果我使用 Keras 回调ModelCheckpoint
,并且我把save_best_only = True
and period=3
,模型将如何保存?在 3 个时期之后,它保存了 3 个时期的最佳结果,还是只保存了所有时期中最好的一个?
我使用的一段代码:
mcp = tf.keras.callbacks.ModelCheckpoint("my_model.h5", monitor="val_accuracy",
save_best_only=True, period=3)
解决方案
首先,根据文档,period
不推荐使用参数来支持save_freq
参数(如果分配给 a int
,它将考虑看到的批次数而不是时期)。但是为了向后兼容,这个period
论点仍然有效。
但是要找出问题的答案,我们需要检查源代码是否有ModelCheckpoint
回调。实际上,到目前为止看到的监控指标的最佳值只有在epochs 已经过去(自最后一个检查点以来)时才会更新。并且。由于目前看到的最佳度量值与仅当前 epoch 的监控度量值进行比较,因此我们可以得出结论,仅比较和保存 epochs 、 、 等中表现最好的模型,以及它们之间的模型性能epochs被忽略。period
period
2*period
3*period
推荐阅读
- html - 使用放大效果切换图像
- css - Angular 7,双向数据绑定
- python - 为临时文件使用自定义名称(tempfile 模块)
- rust - 返回 deadpool_postgres::Client 的函数改为返回 Future
- python - “诗歌安装”命令失败;*.whl 文件未找到
- javascript - React 如何使标签始终将 href 值视为绝对路径
- c++ - 项目错误:QT 中的未知模块:MacOS 上的多媒体多媒体小部件
- mysql - 使用连接执行简单插入时,错误 1364 字段没有默认值
- python - 破折号:如何扩展组件以填充剩余的水平和垂直空间
- node.js - 如何使用云函数部署 setInterval 循环?