首页 > 解决方案 > keras中的monitor有什么作用?

问题描述

在 Keras 中,我们使用 ModelCheckpoint 来保存我们训练好的模型。在 Keras 的一个文档中,它解释了“监视器:要监视的数量。”,但我仍然无法理解。在我们的机器学习过程中监视器的作用是什么?

keras.callbacks.callbacks.ModelCheckpoint(filepath, monitor='val_loss', verbose=0, save_best_only=False, save_weights_only=False, mode='auto', period=1)

标签: keras

解决方案


https://keras.io/callbacks/

从 keras 文档中,我解释了 ModelCheckpoint 的参数。它用于在训练时保存你最好的模型,原因可能是在训练了几个 epoch 之后,模型可能会开始发散或表现不佳/可能会过度拟合。许多 epoch 并不总是意味着最佳性能,因此最好在训练时继续保存权重。

save_best_only:如果save_best_only=True,根据监控数量最新的最佳模型不会被覆盖。此处明确表示,模型将根据要监控的数量的值进行保存。

模式:{auto, min, max} 之一。如果 save_best_only=True,覆盖当前保存文件的决定是基于监控数量的最大化或最小化。对于 val_acc,这应该是 max,对于 val_loss,这应该是 min,等等。在自动模式下,方向是自动从被监控数量的名称中推断出来的。 模式将根据您的监控指标确定,如果是损失,则模式必须是 min,如果是准确度、f1 分数等,则模式必须是 max。(您想保存迄今为止损失最小且准确度最高的权重)

详细:详细模式,0 或 1。详细确定要打印多少关于指标的信息(0 表示不打印任何内容,1 表示将打印一些信息)

其他参数应该很容易理解。


推荐阅读