Spec-Zone.ru › TensorFlow

tf.keras.optimizers.schedules.ExponentialDecay

Расписание экспоненциального уменьшения, использующее экспоненциальное расписание уменьшения.

Наследуется от: LearningRateSchedule

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

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

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

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

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

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".
Возвращаемые значения
Функциональный объект расписания скорости обучения с 1 аргументом, который принимает текущий шаг оптимизатора и возвращает уменьшенную скорость обучения, скалярный тензор того же типа, что и initial_learning_rate.

Методы

from_config

Просмотреть исходный код

@classmethod
from_config(
    config
)

Создает экземпляр LearningRateSchedule из его конфигурации.

Аргументы
config Выход get_config().
Возвращаемые значения
Экземпляр LearningRateSchedule.

get_config

Просмотреть исходный код

get_config()

__call__

Просмотреть исходный код

__call__(
    step
)

Вызов себя как функции.

© 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