Python Keras - 如何只保存最佳模型而不丢失有关损失、acc、val_loss和val_acc指标的信息?

Python Keras - How to save only the best model without losing information about loss, acc, val_loss and val_acc metrics?

提问人:radek04 提问时间:10/4/2023 更新时间:10/4/2023 访问量:42

问:

到目前为止,我是这样保存模型的:

checkpoint = ModelCheckpoint('Model-{epoch:05d}-{loss:.4f}-{acc:.4f}-{val_loss:.4f}-{val_acc:.4f}.h5', verbose=0, monitor='val_loss',save_best_only=True, mode='auto')

但是,这会在磁盘上创建大量文件,然后我必须删除这些文件,只留下最好的模型。如何从最佳模型(使用 ModelCheckpoint 保存的最后一个模型)中获取丢失、累积、val_loss和val_acc信息,而不将它们存储在文件名中?

我试图从history.history获取数据,但所有值都存储在那里,我不知道哪个是最好的。我还可以很容易地从上一个纪元的模型中获取这些参数。我不能做的是访问最佳模型的参数。

Python Keras 回调 指标 模型检查

评论

0赞 stateMachine 10/4/2023
是什么阻止了您在每次训练生成良好模型时覆盖相同的文件?
0赞 radek04 10/4/2023
我可以覆盖同名的文件,即名称中不包含模型指标。我需要这些指标。
0赞 stateMachine 10/4/2023
如果将指标写入文件,该怎么办?为此,您需要一个自定义回调,在每个纪元结束时或将最佳模型写入磁盘时执行。txt
0赞 radek04 10/4/2023
这样的解决方案完全没问题,但恐怕我不知道该怎么做。
0赞 radek04 10/5/2023
@stateMachine我可以询问有关如何执行此操作的提示?

答: 暂无答案