tf.compat.v1.train.cosine_decay_restarts
Применяет косинусное затухание с перезапусками к скорости обучения.
tf.compat.v1.train.cosine_decay_restarts(
learning_rate,
global_step,
first_decay_steps,
t_mul=2.0,
m_mul=1.0,
alpha=0.0,
name=None
)
При обучении модели часто рекомендуется снижать скорость обучения по мере его продолжения. Эта функция применяет функцию косинусного затухания с перезапусками к заданной начальной скорости обучения. Для вычисления затухающей скорости обучения требуется значение 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. |
| Ссылки | |
|---|---|
| Стохастический градиентный спуск с теплыми перезапусками: Loshchilov и др., 2017 (PDF) |
Совместимость с eager execution
Если включено eager execution, эта функция возвращает функцию, которая, в свою очередь, возвращает тензор затухающей скорости обучения. Это может быть полезно для изменения значения скорости обучения при различных вызовах функций оптимизатора.
© 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/compat/v1/train/cosine_decay_restarts