以高精度和低丢失率停止 CNN 模型?

数据挖掘 机器学习 Python
2022-02-28 17:57:12

我用大量 epoch 训练我的 CNN 模型,每个 epoch 我都会打印训练损失和准确性,但这两个指标有很多高低,我想提前停止,例如损失为 0.2 和准确率在 %95 或更高,因为我在不止一个时期得到这个,我的问题是:

1-是在训练集还是验证集上提前停止?

2-如果在验证集上,我应该打印每个时期的验证损失和准确度,并带有训练集损失和准确度吗?

3-你能给出一个想法,用一段代码而不是在 keras 中提前停止,因为我使用的是 tensorflow 而不是 keras?

1个回答
  1. 提前停止是根据验证集的结果(损失、准确性或其他一些特殊指标)确定的。

  2. 通常每个时期都会检查提前停止,因此您需要在每个时期之后检查验证准确性/损失。你不必打印它,但如果它已经计算过了,你就没有理由隐瞒它。(如果它太慢了你的训练过程,你也可以每 x epoch 检查一次验证结果)。

  3. 有许多资料显示如何使用 tensorflow 提前停止:

使用 TensorFlow 和 TFLearn 提前停止

使用 tf.estimator 提前停止,如何?

与 tf.estimator API 一起使用的提前停止功能。