tf.keras.callbacks.EarlyStopping()

作用

当监控的指标停止改进时停止训练

假设训练的目标是最小化损失。 这样,要监控的指标将是“loss”,模型将是“min”。 model.fit() 训练循环将在每个 epoch 结束时检查loss是否不再减少,考虑 min_delta patience。 一旦发现不再减少,model.stop_training 将被标记为 True 并且训练终止。

要监控的指标需要在日志字典中可用。 为此,请在 model.compile() 传递损失或指标

参数

tf.keras.callbacks.EarlyStopping(
    monitor='val_loss',                        # 要监控的指标
    min_delta=0,                               # 被监测指标的最小变化被认为是改进,即小于 min_delta 的绝对变化,将被视为没有改进。
    patience=0,                                # 没有改善的 epoch达到设定的数之后训练将停止。
    verbose=0,                                 # 详细模式,0 或 1。模式 0 是静默模式,模式 1 在回调执行操作时显示消息。
    mode='auto',                               # {"auto", "min", "max"} 之一。 在min模式下,当监测到的数量停止减少时,训练将停止; 
                                               # 在max模式下,当监控的数量停止增加时,它将停止; 
                                               # 在auto模式下,方向是根据监控量的名称自动推断的。
    baseline=None,                             # 监控数量的基线值。 如果模型没有显示出对基线的改进,则训练将停止。
    restore_best_weights=False                 # 是否从监测量的最佳值的epoch恢复模型权重。 
                                               # 如果为 False,则使用在训练的最后一步获得的模型权重。 
)

例子

model = tf.keras.models.Sequential([tf.keras.layers.Dense(10)])              # 设置模型层
model.compile(tf.keras.optimizers.SGD(), loss='mse')                         # 编译模型

early_stop = keras.callbacks.EarlyStopping(monitor='val_loss', patience=10)  # patience 值用来检查改进 epochs 的数量

history = model.fit(np.arange(100).reshape(5, 20), np.zeros(5),
                    epochs=10, batch_size=1, callbacks=[callback],
                    verbose=0)                                               # 训练模型

len(history.history['loss'])                                                 # 输出符合条件的epoch的个数

4

 主要参考:tf.keras.callbacks.EarlyStopping  |  TensorFlow Core v2.9.1 (google.cn)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值