Spec-Zone.ru › TensorFlow 2.4

tf.keras.experimental.CosineDecay

View source on GitHub

Расписание обучения, использующее график затухания косинуса.

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

Просмотр псевдонимов

Псевдонимы совместимости для миграции

Дополнительные сведения см. в руководстве по миграции.

tf.compat.v1.keras.experimental.CosineDecay

tf.keras.experimental.CosineDecay(
    initial_learning_rate, decay_steps, alpha=0.0, name=None
)

См. [Loshchilov & Hutter, ICLR2016], SGDR: Stochastic Gradient Descent with Warm Restarts. https://arxiv.org/abs/1608.03983

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

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

def decayed_learning_rate(step):
  step = min(step, decay_steps)
  cosine_decay = 0.5 * (1 + cos(pi * step / decay_steps))
  decayed = (1 - alpha) * cosine_decay + alpha
  return initial_learning_rate * decayed

Пример использования:

decay_steps = 1000
lr_decayed_fn = tf.keras.experimental.CosineDecay(
    initial_learning_rate, decay_steps)

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

Возвращает
Расписание скорости обучения, принимающее в качестве аргумента текущий шаг оптимизатора и возвращающее уменьшенную скорость обучения, скаляр Tensor того же типа, что и initial_learning_rate.
Аргументы
initial_learning_rate Скаляр float32 или float64 тензор или число Python. Начальная скорость обучения.
decay_steps Скаляр int32 или int64 Tensor тензор или число Python. Количество шагов для затухания.
alpha Скаляр float32 или float64 тензор или число Python. Минимальное значение скорости обучения как дробь начальной скорости обучения.
name Строка. Необязательное имя операции. По умолчанию 'CosineDecay'.

Методы

from_config

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

@classmethod
from_config(
    config
)

Инициализирует LearningRateSchedule из его конфигурации.

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

get_config

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

get_config()

__call__

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

__call__(
    step
)

Вызвать self как функцию.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/keras/experimental/CosineDecay

Spec-Zone.ru

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