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:浮點數。學習率的下限。