Spec-Zone.ru › TensorFlow 2.4

tf.keras.experimental.CosineDecayRestarts

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

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

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

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

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

Подробнее см. Руководство по миграции.

tf.compat.v1.keras.experimental.CosineDecayRestarts

tf.keras.experimental.CosineDecayRestarts(
    initial_learning_rate, first_decay_steps, t_mul=2.0, m_mul=1.0, alpha=0.0,
    name=None
)

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

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

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

Множитель скорости обучения сначала уменьшается от 1 до alpha за first_decay_steps шагов. Затем выполняется перезапуск. Каждый новый перезапуск выполняется за t_mul раз больше шагов и с m_mul раз меньшей начальной скоростью обучения.

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

first_decay_steps = 1000
lr_decayed_fn = (
  tf.keras.experimental.CosineDecayRestarts(
      initial_learning_rate,
      first_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. Начальная скорость обучения.
first_decay_steps Скаляр int32 или int64 Tensor или число Python. Количество шагов для распада.
t_mul Скаляр float32 или float64 Tensor или число Python. Используется для вывода количества итераций в i-й период.
m_mul Скаляр float32 или float64 Tensor или число Python. Используется для вывода начальной скорости обучения i-го периода:
alpha Скаляр float32 или float64 тензор или число Python. Минимальное значение скорости обучения как доля initial_learning_rate.
name Строка. Необязательное имя операции. По умолчанию 'SGDRDecay'.

Методы

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

Spec-Zone.ru

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