tf.train.cosine_decay_restarts
Применяет косинусное затухание с перезапуском к скорости обучения.
tf.train.cosine_decay_restarts(
learning_rate, global_step, first_decay_steps, t_mul=2.0, m_mul=1.0, alpha=0.0,
name=None
)
См. [Loshchilov & Hutter, ICLR2016], SGDR: Стохастический градиентный спуск с теплыми перезапусками. https://arxiv.org/abs/1608.03983
При обучении модели часто рекомендуется уменьшать скорость обучения по мере прогресса обучения. Эта функция применяет функцию косинусного затухания с перезапусками к предоставленной начальной скорости обучения. Для вычисления затухающей скорости обучения требуется значение global_step. Вы можете просто передать переменную TensorFlow, которую вы увеличиваете на каждом шаге обучения.
Функция возвращает затухающую скорость обучения с учетом возможных теплых перезапусков. Множитель скорости обучения сначала затухает с 1 до alpha за first_decay_steps шагов. Затем выполняется теплый перезапуск. Каждый новый теплый перезапуск выполняется в t_mul раз больше шагов и с m_mul раз меньшей начальной скоростью обучения.
Пример использования:
first_decay_steps = 1000
lr_decayed = cosine_decay_restarts(learning_rate, global_step,
first_decay_steps)
| Аргументы | |
|---|---|
learning_rate | Скалярный float32 или float64 тензор или число Python. Начальная скорость обучения. |
global_step | Скалярный int32 или int64 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 тензор или число Python. Минимальное значение скорости обучения как доля learning_rate. |
name | Строка. Необязательное имя операции. По умолчанию 'SGDRDecay'. |
| Возвращает | |
|---|---|
Скалярный Tensor того же типа, что и learning_rate. Затухающая скорость обучения. |
| Возможные исключения | |
|---|---|
ValueError | если global_step не предоставлено. |
Совместимость с Eager
Когда выполняется eager-вычисление, эта функция возвращает функцию, которая в свою очередь возвращает тензор затухающей скорости обучения. Это может быть полезно для изменения значения скорости обучения при разных вызовах функций оптимизатора.
© 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/r1.15/api_docs/python/tf/train/cosine_decay_restarts