首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“太早”在Keras早停

“太早”在Keras早停
EN

Stack Overflow用户
提问于 2019-05-28 11:57:02
回答 1查看 530关注 0票数 3

我在用Keras训练神经网络,使用早期停止。然而,当训练的时候,网络很早就到达了一个点,验证损失是不自然的低,这会在一段时间后变平,就像这样。

patience = 50中使用早期停止时,验证损失会减少,但从一开始就不会低于验证损失。

我对网络进行了多次训练,结果是相同的,使用的是rmsprop (学习率为0.1到1e-4)和adam优化器。

有没有人知道是否有方法为网络设置一个“烧伤期”(如马尔可夫链蒙特卡罗模型),然后监测验证损失,以选择最佳模型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-26 23:57:41

也许我迟到了2/3年,但我也有同样的问题,我已经解决了编写这个回调的问题:

代码语言:javascript
复制
class DelayedEarlyStopping(tf.keras.callbacks.EarlyStopping):
    def __init__(self, burn_in, **kwargs):
        super(DelayedEarlyStopping, self).__init__(**kwargs)
        self.burn_in = burn_in

    def on_epoch_end(self, epoch, logs=None):
        if epoch >= self.burn_in:
            super().on_epoch_end(epoch, logs)
        else:
            super().on_train_begin(logs=None)

early_stopping_monitor = DelayedEarlyStopping(
    100,
    monitor='val_total_loss',
    min_delta=0,
    patience=20,
    verbose=0,
    mode='auto',
    baseline=40,
    restore_best_weights=True
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56341753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档