Keras 3 API documentation / Callbacks API / ReduceLROnPlateau

ReduceLROnPlateau

[source]

ReduceLROnPlateau

keras.callbacks.ReduceLROnPlateau(
    monitor="val_loss",
    factor=0.1,
    patience=10,
    verbose=0,
    mode="auto",
    min_delta=0.0001,
    cooldown=0,
    min_lr=0.0,
    **kwargs
)

当指标停止改进时降低学习率。

模型通常受益于在学习停滞时将学习率降低 2-10 倍。此回调函数会监控一个数量,如果在 'patience' 个 epoch 后没有看到改进,则会降低学习率。

示例

reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.2,
                              patience=5, min_lr=0.001)
model.fit(x_train, y_train, callbacks=[reduce_lr])

参数

  • monitor: 字符串。要监控的指标。
  • factor: 浮点数。学习率将降低的因子。new_lr = lr * factor
  • patience: 整数。在学习率降低之前,没有改进的 epoch 数。
  • verbose: 整数。0:静默模式,1:更新消息。
  • mode: 字符串。{'auto', 'min', 'max'} 之一。在 'min' 模式下,当监控的指标停止下降时,学习率将降低;在 'max' 模式下,当监控的指标停止上升时,学习率将降低;在 'auto' 模式下,方向将从监控指标的名称自动推断。
  • min_delta: 浮点数。用于衡量新最优值的阈值,仅关注显著变化。
  • cooldown: 整数。在学习率降低后,恢复正常操作之前要等待的 epoch 数。
  • min_lr: 浮点数。学习率的下限。