Keras 3 API 文档 / 回调 API / ReduceLROnPlateau

ReduceLROnPlateau

[源代码]

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 倍来获益。此回调监视某个数量,如果在“耐心”数量的 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:浮点数。学习率的下限。