Spec-Zone.ru › TensorFlow

tf.keras.optimizers.schedules.ExponentialDecay

Расписание LearningRateSchedule, использующее экспоненциальное затухание.

Наследует: LearningRateSchedule

tf.keras.optimizers.schedules.ExponentialDecay(
    initial_learning_rate,
    decay_steps,
    decay_rate,
    staircase=False,
    name='ExponentialDecay'
)

Используется в блокнотах

Используется в руководстве
  • Импорт модели JAX с помощью JAX2TF
  • Примеры миграции: готовые оценщики

При обучении модели часто полезно снижать скорость обучения по мере продвижения обучения. Это расписание применяет функцию экспоненциального затухания к шагу оптимизатора, используя заданную начальную скорость обучения.

Это расписание представляет собой вызываемый объект с одним аргументом, который при передаче текущего шага оптимизатора возвращает скорость обучения с затуханием. Это может быть полезно для изменения значения скорости обучения при разных вызовах функций оптимизатора. Она вычисляется следующим образом:

def decayed_learning_rate(step):
    return initial_learning_rate * decay_rate ^ (step / decay_steps)

Если аргумент staircase равен True, то step / decay_steps представляет собой целочисленное деление, и скорость обучения с затуханием изменяется ступенчато.

Это расписание можно передать непосредственно в keras.optimizers.Optimizer в качестве скорости обучения. Пример: при обучении модели Keras применять затухание каждые 100000 шагов с базовым значением 0.96:

initial_learning_rate = 0.1
lr_schedule = keras.optimizers.schedules.ExponentialDecay(
    initial_learning_rate,
    decay_steps=100000,
    decay_rate=0.96,
    staircase=True)

model.compile(optimizer=keras.optimizers.SGD(learning_rate=lr_schedule),
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(data, labels, epochs=5)

Расписание скорости обучения также можно сериализовать и десериализовать с помощью keras.optimizers.schedules.serialize и keras.optimizers.schedules.deserialize.

Аргументы
initial_learning_rate Число с плавающей запятой Python. Начальная скорость обучения.
decay_steps Целое число Python. Должно быть положительным. См. вычисление затухания выше.
decay_rate Число с плавающей запятой Python. Скорость затухания.
staircase Логическое значение. Если True, скорость обучения затухает через фиксированные интервалы.
name Строка. Необязательное имя операции. По умолчанию — "ExponentialDecay".
Возвращает
Вызываемое расписание скорости обучения с одним аргументом, которое принимает текущий шаг оптимизатора и возвращает скорость обучения с затуханием — скалярный тензор того же типа, что и 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/ExponentialDecay

Spec-Zone.ru

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