View source on GitHub |
Learning rate scheduler.
Inherits From: Callback
tf.keras.callbacks.LearningRateScheduler( schedule, verbose=0 )
At the beginning of every epoch, this callback gets the updated learning rate value from schedule
function provided at __init__
, with the current epoch and current learning rate, and applies the updated learning rate on the optimizer.
Arguments | |
---|---|
schedule | a function that takes an epoch index (integer, indexed from 0) and current learning rate (float) as inputs and returns a new learning rate as output (float). |
verbose | int. 0: quiet, 1: update messages. |
# 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
set_model
set_model( model )
set_params
set_params( params )
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/keras/callbacks/LearningRateScheduler