tf.keras.optimizers.schedules.InverseTimeDecay
LearningRateSchedule, использующее расписание обратного временного затухания.
Наследуется от: LearningRateSchedule
tf.keras.optimizers.schedules.InverseTimeDecay(
initial_learning_rate,
decay_steps,
decay_rate,
staircase=False,
name='InverseTimeDecay'
)
Используется в блокнотах
| Используется в руководствах |
|---|
При обучении модели часто бывает полезно снижать скорость обучения по мере продвижения обучения. Это расписание применяет функцию обратного затухания к шагу оптимизатора, используя заданную начальную скорость обучения. Для вычисления затухающей скорости обучения требуется значение step. Можно просто передать переменную бэкенда, значение которой увеличивается на каждом шаге обучения.
Расписание представляет собой вызываемый объект с одним аргументом, который возвращает затухающую скорость обучения при передаче текущего шага оптимизатора. Это может быть полезно для изменения значения скорости обучения при разных вызовах функций оптимизатора. Она вычисляется так:
def decayed_learning_rate(step):
return initial_learning_rate / (1 + decay_rate * step / decay_step)
или, если staircase равно True, так:
def decayed_learning_rate(step):
return initial_learning_rate /
(1 + decay_rate * floor(step / decay_step))
Это расписание можно непосредственно передать в keras.optimizers.Optimizer в качестве скорости обучения. Пример: обучение модели Keras с затуханием 1/t и коэффициентом 0.5:
...
initial_learning_rate = 0.1
decay_steps = 1.0
decay_rate = 0.5
learning_rate_fn = keras.optimizers.schedules.InverseTimeDecay(
initial_learning_rate, decay_steps, decay_rate)
model.compile(optimizer=keras.optimizers.SGD(
learning_rate=learning_rate_fn),
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(data, labels, epochs=5)
| Аргументы | |
|---|---|
initial_learning_rate | Число с плавающей запятой Python. Начальная скорость обучения. |
decay_steps | Частота применения затухания. |
decay_rate | Число Python. Коэффициент затухания. |
staircase | Следует ли применять затухание ступенчато, а не непрерывно. |
name | Строка. Необязательное имя операции. По умолчанию — "InverseTimeDecay". |
| Возвращает | |
|---|---|
Вызываемое расписание скорости обучения с одним аргументом, которое принимает текущий шаг оптимизатора и возвращает затухающую скорость обучения — скалярный тензор того же типа, что и initial_learning_rate. |
Методы
from_config
@classmethod
from_config(
config
)
Создает LearningRateSchedule на основе конфигурации.
| Аргументы | |
|---|---|
config | Результат get_config(). |
| Возвращает | |
|---|---|
Экземпляр LearningRateSchedule. |
get_config
get_config()
__call__
__call__(
step
)
Вызов self как функции.
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/keras/optimizers/schedules/InverseTimeDecay