Spec-Zone.ru › TensorFlow

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API