TensorFlow 1 version
|
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. |
Example:
# 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 lrelse: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
Methods
set_model
set_model(
model
)
set_params
set_params(
params
)
TensorFlow 1 version
View source on GitHub