tf.keras.optimizers.schedules.InverseTimeDecay
| View source on GitHub |
Расписание LearningRateSchedule, использующее график обратного распада по времени.
Наследуется от: LearningRateSchedule
tf.keras.optimizers.schedules.InverseTimeDecay(
initial_learning_rate, decay_steps, decay_rate, staircase=False, name=None
)
При обучении модели часто бывает полезно снижать скорость обучения по мере его продвижения. Это расписание применяет функцию обратного распада к шагу оптимизатора, учитывая заданную начальную скорость обучения. Для вычисления уменьшенной скорости обучения требуется значение step. Вы можете просто передать переменную TensorFlow, которую вы увеличиваете на каждом шаге обучения.
Расписание представляет собой вызываемый объект с одним аргументом, который выдает уменьшенную скорость обучения при передаче текущего шага оптимизатора. Это может быть полезно для изменения значения скорости обучения при различных вызовах функций оптимизатора. Оно вычисляется как:
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))
Вы можете передать это расписание напрямую в tf.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=tf.keras.optimizers.SGD(
learning_rate=learning_rate_fn),
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(data, labels, epochs=5)
| Возвращает | |
|---|---|
Вызываемый объект с одним аргументом, расписание скорости обучения, которое принимает текущий шаг оптимизатора и выдает уменьшенную скорость обучения, скаляр Tensor того же типа, что и initial_learning_rate. |
| Аргументы | |
|---|---|
initial_learning_rate | Скаляр float32 или float64 Tensor или число Python. Начальная скорость обучения. |
decay_steps | Как часто применять распад. |
decay_rate | Число Python. Коэффициент распада. |
staircase | Применять ли распад дискретным образом, в виде лестницы, а не непрерывным. |
name | Строка. Необязательное имя операции. По умолчанию 'InverseTimeDecay'. |
Методы
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/versions/r2.9/api_docs/python/tf/keras/optimizers/schedules/InverseTimeDecay