tf.keras.callbacks.LearningRateScheduler
| Просмотреть исходный код на GitHub |
Планировщик скорости обучения.
Наследуется от: Callback
tf.keras.callbacks.LearningRateScheduler(
schedule, verbose=0
)
В начале каждой эпохи этот обратный вызов получает обновленное значение скорости обучения из функции schedule, предоставленной в __init__, с текущей эпохой и текущей скоростью обучения и применяет обновлённую скорость обучения к оптимизатору.
| Аргументы | |
|---|---|
schedule | функция, которая принимает индекс эпохи (целое число, индексированное с 0) и текущую скорость обучения (вещественное число) в качестве входных данных и возвращает новую скорость обучения в качестве выходного значения (вещественное число). |
verbose | целое число. 0: тихо, 1: сообщения об обновлениях. |
Пример:
# 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