CosineAnnealingLR
-
class torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max, eta_min=0.0, last_epoch=-1)[исходный код] -
Задает скорость обучения для каждой группы параметров согласно расписанию косинусного отжига.
Скорость обучения обновляется рекурсивно по формуле:
Это реализует рекурсивное приближение расписания в замкнутой форме, предложенного в работе SGDR: стохастический градиентный спуск с теплыми перезапусками:
где:
- — скорость обучения на шаге
- — число эпох с момента последнего перезапуска
- — максимальное число эпох в цикле
Примечание
Хотя SGDR предусматривает периодические перезапуски, эта реализация выполняет косинусный отжиг без перезапусков, поэтому и монотонно увеличивается при каждом вызове
step().- Параметры:
Пример
>>> num_epochs = 100 >>> scheduler = CosineAnnealingLR(optimizer, T_max=num_epochs) >>> for epoch in range(num_epochs): >>> train(...) >>> validate(...) >>> scheduler.step()
-
get_last_lr()[исходный код] -
Возвращает последние скорости обучения, вычисленные этим планировщиком.
- Возвращает:
-
listскоростей обучения, по одной для каждойparam_groupsоптимизатора и того же типа, что и соответствующиеgroup["lr"]. - Тип возвращаемого значения:
Примечание
Возвращаемые
Tensorявляются копиями и никогда не ссылаются наgroup["lr"]оптимизатора.
-
get_lr()[исходный код] -
Вычисляет следующую скорость обучения для каждой
param_groupsоптимизатора.Масштабирует
group["lr"]вparam_groupsоптимизатора так, чтобы их скорости обучения приближались к значению- Возвращает:
-
listскоростей обучения для каждойparam_groupsоптимизатора; их типы совпадают с типами соответствующих текущихgroup["lr"]. - Тип возвращаемого значения:
Примечание
Чтобы получить последние значения скорости обучения, используйте вместо этого
get_last_lr().Примечание
Возвращаемые
Tensorявляются копиями и никогда не ссылаются наgroup["lr"]оптимизатора.
-
load_state_dict(state_dict)[исходный код] -
Загружает состояние планировщика.
- Параметры:
-
state_dict (dict) – Состояние планировщика. Должен быть объектом, возвращенным вызовом
state_dict().
-
state_dict()[исходный код] -
Возвращает состояние планировщика в виде
dict.Оно содержит запись для каждой переменной в
self.__dict__, кроме оптимизатора.
-
step(epoch=None)[исходный код] -
Выполняет шаг планировщика.
- Параметры:
-
epoch (int, optional) –
Устарело с версии 1.4: Если указано, задает
last_epochравнымepochи использует_get_closed_form_lr(), если он доступен. Поддерживается не во всех случаях. Вместо этого вызывайтеstep()без аргументов.
Примечание
Вызывайте этот метод после вызова
step()оптимизатора.
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.optim.lr_scheduler.CosineAnnealingLR.html