Spec-Zone.ru › TensorFlow 2.9

tf.keras.optimizers.schedules.CosineDecay

Расписание LearningRateSchedule, использующее график косинусного спада.

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

Показать псевдонимы

Основные псевдонимы

tf.keras.experimental.CosineDecay

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

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.keras.experimental.CosineDecay, tf.compat.v1.keras.optimizers.schedules.CosineDecay

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

См. Loshchilov & Hutter, ICLR2016, SGDR: Стохастический градиентный спуск с теплыми перезапусками.

При обучении модели часто бывает полезно снижать скорость обучения по мере продвижения обучения. Это расписание применяет функцию косинусного спада к шагу оптимизатора, учитывая заданную начальную скорость обучения. Для вычисления уменьшенной скорости обучения требуется значение 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.optimizers.schedules.CosineDecay(
    initial_learning_rate, decay_steps)

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

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

Методы

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/CosineDecay

Spec-Zone.ru

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