Spec-Zone.ru › TensorFlow 2.3

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 Tensor или число 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 Tensor или число 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.3/api_docs/python/tf/keras/experimental/CosineDecayRestarts

Spec-Zone.ru

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