使用tensorflow tf.estimator提前停止?

时间:2017-11-14 09:46:50

标签: python tensorflow

我正在使用tensorflow v1.4。我想使用5个时代的耐心使用验证集提前停止。

我在网上搜索过,发现曾经有一个名为ValidationMonitor的函数,但它现在已被折旧。有没有办法实现这一目标?

2 个答案:

答案 0 :(得分:1)

最近我在tensorflow API中遇到了这个功能。 tf.keras.callbacks.EarlyStopping。 tf版本是r1.9。

参数:

  • monitor:要监控的数量
  • min_delta:受监视数量的最小变化(有资格视为改进),即绝对变化小于min_delta,则不算改进。
  • patience:经过训练后没有改善的时期数 将停止。
  • verbose:详细模式。
  • mode:{autominmax}中的一个。在min模式下,训练将在以下时间停止 监控数量已停止减少;在max模式下, 当监视的数量停止增加时停止;在auto中 模式,系统会自动根据路线名称推断出方向 监控数量。

答案 1 :(得分:0)

不幸的是,似乎没有一种好方法可以做到这一点。需要考虑的一种方法是在训练期间经常保存检查点,然后对它们进行迭代并对其进行评估。然后,您可以丢弃没有最佳eval性能的检查点。这对您在训练期间节省时间没有帮助,但至少留下的结果模型是早期停止模型。