TensorFlow回調(diào)函數(shù):tf.keras.callbacks.ReduceLROnPlateau

2019-03-27 15:18 更新

tf.keras.callbacks.ReduceLROnPlateau函數(shù)

類 ReduceLROnPlateau

繼承自: Callback

定義在:tensorflow/python/keras/callbacks.py。

當(dāng)指標(biāo)停止提升時,降低學(xué)習(xí)速率。

一旦學(xué)習(xí)停止,模型通常會將學(xué)習(xí)率降低2-10倍。該回調(diào)監(jiān)測數(shù)量,如果沒有看到epoch的 'patience' 數(shù)量的改善,那么學(xué)習(xí)率就會降低。

示例:

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

參數(shù):

  • monitor:要監(jiān)測的數(shù)量。
  • factor:學(xué)習(xí)速率降低的因素。new_lr = lr * factor
  • patience:沒有提升的epoch數(shù),之后學(xué)習(xí)率將降低。
  • verbose:int。0:安靜,1:更新消息。
  • mode:{auto,min,max}之一。在min模式下,當(dāng)監(jiān)測量停止下降時,lr將減少;在max模式下,當(dāng)監(jiān)測數(shù)量停止增加時,它將減少;在auto模式下,從監(jiān)測數(shù)量的名稱自動推斷方向。
  • min_delta:對于測量新的最優(yōu)化的閥值,僅關(guān)注重大變化。
  • cooldown:在學(xué)習(xí)速率被降低之后,重新恢復(fù)正常操作之前等待的epoch數(shù)量。
  • min_lr:學(xué)習(xí)率的下限。

__init__

__init__(
    monitor='val_loss',
    factor=0.1,
    patience=10,
    verbose=0,
    mode='auto',
    min_delta=0.0001,
    cooldown=0,
    min_lr=0,
    **kwargs
)

初始化自我。

方法

in_cooldown
in_cooldown()
on_batch_begin
on_batch_begin(
    batch,
    logs=None
)
on_batch_end
on_batch_end(
    batch,
    logs=None
)
on_epoch_begin
on_epoch_begin(
    epoch,
    logs=None
)
on_epoch_end
on_epoch_end(
    epoch,
    logs=None
)
on_train_batch_begin
on_train_batch_begin(
    batch,
    logs=None
)
on_train_batch_end
on_train_batch_end(
    batch,
    logs=None
)
on_train_begin
on_train_begin(logs=None)
on_train_end
on_train_end(logs=None)
set_model
set_model(model)
set_params
set_params(params)


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號