使用TensorFlow tf.estimator实现早停技术?

5

我正在使用 TensorFlow v1.4,希望使用验证集实现早停机制,并设置等待5个时期。

我在网上搜索后发现,曾经有一种名为 ValidationMonitor 的函数可以实现此功能,但现在已被弃用。那么是否有其他方法实现早停机制呢?

2个回答

0

最近我在tensorflow API中发现了这个函数:tf.keras.callbacks.EarlyStopping。tf版本是r1.9。

参数:

  • monitor:要监控的量
  • min_delta:被监控的量的最小变化,以便被视为改进。即绝对变化小于min_delta将被视为没有改进。
  • patience:在训练停止之前没有改进的时期数。
  • verbose:详细模式。
  • mode:其中之一{autominmax}。在min模式下,当被监测的数量不再减少时,训练将停止;在max模式下,当被监测的数量不再增加时,训练将停止;在auto模式下,方向将从被监测的数量的名称自动推断。

它能与估算器结合使用吗? - sdcbr
据我所知,它不能与估算器一起使用。tf.kerasKeras API,可用于tensorflow。这个答案解决了我的问题,但不能与估算器一起使用。 - papabiceps

0

不幸的是,似乎没有一个好方法来做这件事。有一种方法可以考虑,在训练期间经常保存检查点,然后稍后迭代它们并对其进行评估。然后您可以丢弃没有最佳评估表现的检查点。这在训练期间无法节省时间,但至少所得到的模型是一个早停止模型。


谢谢你的回答 :)。你建议的是一个显而易见的解决方案,我现在正在使用它。能够节省训练时间会很好。 - papabiceps

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接