LinearLR
-
class torch.optim.lr_scheduler.LinearLR(optimizer, start_factor=0.3333333333333333, end_factor=1.0, total_iters=5, last_epoch=-1)[исходный код] -
Постепенно снижает скорость обучения каждой группы параметров, линейно изменяя небольшой множитель.
Умножение выполняется, пока номер эпохи не достигнет заранее заданного предельного значения: total_iters. Обратите внимание, что такое снижение может происходить одновременно с другими изменениями скорости обучения, выполняемыми вне этого планировщика. Если last_epoch=-1, начальная скорость обучения устанавливается равной lr.
- Параметры:
-
- optimizer (Optimizer) – Обёрнутый оптимизатор.
- start_factor (float) – Множитель, на который умножается скорость обучения в первой эпохе. В последующих эпохах множитель изменяется в сторону end_factor. По умолчанию: 1./3.
- end_factor (float) – Множитель, на который умножается скорость обучения в конце процесса линейного изменения. По умолчанию: 1.0.
- total_iters (int) – Количество итераций, по достижении которого множитель становится равен 1. По умолчанию: 5.
- last_epoch (int) – Индекс последней эпохи. По умолчанию: -1.
Пример
>>> # Assuming optimizer uses lr = 0.05 for all groups >>> # lr = 0.003687 if epoch == 0 >>> # lr = 0.004875 if epoch == 1 >>> # lr = 0.006062 if epoch == 2 >>> # lr = 0.00725 if epoch == 3 >>> # ... >>> # lr = 0.05 if epoch >= 40 >>> scheduler = LinearLR(optimizer, start_factor=0.05, total_iters=40) >>> for epoch in range(100): >>> train(...) >>> validate(...) >>> scheduler.step()
-
get_last_lr()[исходный код] -
Получить последние значения скорости обучения, вычисленные этим планировщиком.
- Возвращает:
-
listзначений скорости обучения с элементами для каждойparam_groupsоптимизатора, имеющими те же типы, что и ихgroup["lr"]s. - Тип возвращаемого значения:
Примечание
Возвращаемые
Tensorявляются копиями и никогда не являются псевдонимамиgroup["lr"]оптимизатора.
-
get_lr()[исходный код] -
Вычислить следующую скорость обучения для каждой
param_groupsоптимизатора.Масштабирует
group["lr"]вparam_groupsоптимизатора так, чтобы на последовательных шагах значения линейно интерполировались отstart_factorдоend_factorзаtotal_itersшагов.- Возвращает:
-
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.LinearLR.html