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 倍。此回調函數監控一個數量,如果在 '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: 浮點數。學習率的下界。