LearningRateScheduler
類別keras.callbacks.LearningRateScheduler(schedule, verbose=0)
學習率排程器。
在每個 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 * ops.exp(-0.1)
>>>
>>> model = keras.models.Sequential([keras.layers.Dense(10)])
>>> model.compile(keras.optimizers.SGD(), loss='mse')
>>> round(model.optimizer.learning_rate, 5)
0.01
>>> callback = 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.learning_rate, 5)
0.00607