在特定时期之后启动回调val acc

时间:2019-02-25 16:12:15

标签: python tensorflow machine-learning keras deep-learning

使用验证准确性实施早期停止时,我有一个疑问。

假设我想在50个时期后验证准确性没有提高时停止训练。但是,在第二次尝试中,我可以随机获得良好的验证准确性。例如:

准确性培训:0.76 准确性验证:0.80

在准确性培训不断改进的同时,也许我没有获得更好的验证准确性。 因此,当我在训练上达到99%的准确性时,可能会因为第二个时期的80%的验证准确性太高(epoch = 52)而停止训练。

我想插入一个偏移量。例如,使用验证准确性提前停止,但从epoch = 100开始。

在Keras可能吗?

预先感谢

1 个答案:

答案 0 :(得分:0)

Keras回调非常灵活,因此您只需修改内置的EarlyStopping回调:

from keras.callbacks import EarlyStopping

class DelayedEarlyStopping(EarlyStopping):
    def on_epoch_end(self, epoch, logs=None):
        if epoch >= 100:
            super().on_epoch_end(epoch, logs=logs)