當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.keras.callbacks.LearningRateScheduler用法及代碼示例


學習率調度器。

繼承自:Callback

用法

tf.keras.callbacks.LearningRateScheduler(
    schedule, verbose=0
)

參數

  • schedule 一個函數,它將一個時期索引(整數,從 0 開始索引)和當前學習率(浮點數)作為輸入,並返回一個新的學習率作為輸出(浮點數)。
  • verbose int. 0:安靜,1:更新消息。

在每個 epoch 開始時,此回調從 __init__ 提供的 schedule 函數獲取更新的學習率值,以及當前 epoch 和當前學習率,並將更新的學習率應用於優化器。

例子:

# This function keeps the initial learning rate for the first ten epochs
# and decreases it exponentially after that.
def scheduler(epoch, lr):
  if epoch < 10:
    return lr
  else:
    return lr * tf.math.exp(-0.1)

model = tf.keras.models.Sequential([tf.keras.layers.Dense(10)])
model.compile(tf.keras.optimizers.SGD(), loss='mse')
round(model.optimizer.lr.numpy(), 5)
0.01
callback = tf.keras.callbacks.LearningRateScheduler(scheduler)
history = model.fit(np.arange(100).reshape(5, 20), np.zeros(5),
                    epochs=15, callbacks=[callback], verbose=0)
round(model.optimizer.lr.numpy(), 5)
0.00607

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.keras.callbacks.LearningRateScheduler。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。