tf.keras.callbacks.EarlyStopping用法

tf.keras.callbacks.EarlyStopping(
    monitor='val_loss', min_delta=0, patience=0, verbose=0, mode='auto',
    baseline=None, restore_best_weights=False
)

monitor:监控的数据接口。keras定义了如下的数据接口可以直接使用:
acc(accuracy),测试集的正确率
loss,测试集的损失函数(误差)
val_acc(val_accuracy),验证集的正确率
val_loss,验证集的损失函数(误差),这是最常用的监控接口,因为监控测试集通常没有太大意义,验证集上的损失函数更有意义。

patient:对于设置的monitor,可以忍受在多少个epoch内没有改进?patient不宜设置过小,防止因为前期抖动导致过早停止训练。当然也不宜设置的过大,就失去了EarlyStopping的意义了。

min_delta:评判monitor是否有改进的标准,只有变动范围大于min_delta的monitor才算是改进。对于连续在patient个epoch内没有改进的情况执行EarlyStopping。

mode:只有三种情况{‘min’,’max’,’auto’},分别表示monitor正常情况下是上升还是下降。比如当monitor为acc时mode要设置为’max’,因为正确率越大越好,相反,当monitor为loss时mode要设置为’min’。
verbose:是否输出更多的调试信息。

baseline:monitor的基线,即当monitor在基线以上没有改进时EarlyStopping。

restore_best_weights:当发生EarlyStopping时,模型的参数未必是最优的,即monitor的指标未必处于最优状态。如果restore_best_weights设置为True,则自动查找最优的monitor指标时的模型参数。

参考

  • 14
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值