我正在使用tensorflow v1.4。我想使用5个时代的耐心使用验证集提前停止。
我在网上搜索过,发现曾经有一个名为ValidationMonitor
的函数,但它现在已被折旧。有没有办法实现这一目标?
答案 0 :(得分:1)
最近我在tensorflow API中遇到了这个功能。
tf.keras.callbacks.EarlyStopping
。 tf版本是r1.9。
参数:
monitor
:要监控的数量min_delta
:受监视数量的最小变化(有资格视为改进),即绝对变化小于min_delta,则不算改进。patience
:经过训练后没有改善的时期数
将停止。verbose
:详细模式。mode
:{auto
,min
,max
}中的一个。在min
模式下,训练将在以下时间停止
监控数量已停止减少;在max
模式下,
当监视的数量停止增加时停止;在auto
中
模式,系统会自动根据路线名称推断出方向
监控数量。答案 1 :(得分:0)
不幸的是,似乎没有一种好方法可以做到这一点。需要考虑的一种方法是在训练期间经常保存检查点,然后对它们进行迭代并对其进行评估。然后,您可以丢弃没有最佳eval性能的检查点。这对您在训练期间节省时间没有帮助,但至少留下的结果模型是早期停止模型。