Spec-Zone.ru › TensorFlow

tf.keras.optimizers.schedules.CosineDecayRestarts

Расписание, использующее схему убывания косинуса с перезапуском.

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

tf.keras.optimizers.schedules.CosineDecayRestarts(
    initial_learning_rate,
    first_decay_steps,
    t_mul=2.0,
    m_mul=1.0,
    alpha=0.0,
    name='SGDRDecay'
)

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

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

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

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

Пример:

first_decay_steps = 1000
lr_decayed_fn = (
    keras.optimizers.schedules.CosineDecayRestarts(
        initial_learning_rate,
        first_decay_steps))

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

Аргументы
initial_learning_rate Вещественное число Python. Начальная скорость обучения.
first_decay_steps Целое число Python. Количество шагов для убывания.
t_mul Вещественное число Python. Используется для вывода числа итераций в i-й период.
m_mul Вещественное число Python. Используется для вывода начальной скорости обучения i-го периода.
alpha Вещественное число Python. Минимальное значение скорости обучения как доля от initial_learning_rate.
name Строка. Необязательное имя операции. По умолчанию "SGDRDecay".
Возвращаемые значения
Вызываемая функция с 1 аргументом, расписание скорости обучения, которая принимает текущий шаг оптимизатора и выводит сниженную скорость обучения, скалярный тензор того же типа, что и initial_learning_rate.

Методы

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/api_docs/python/tf/keras/optimizers/schedules/CosineDecayRestarts

Spec-Zone.ru

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