LambdaLR
-
class torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda, last_epoch=-1)[исходный код] -
Устанавливает начальную скорость обучения.
Скорость обучения каждой группы параметров устанавливается равной начальному lr, умноженному на заданную функцию. Если last_epoch=-1, начальная скорость обучения устанавливается равной lr.
- Параметры:
-
- optimizer (Optimizer) – Оптимизатор, для которого создается оболочка.
- lr_lambda (функция или список) – Функция, вычисляющая множитель по целочисленному параметру epoch, или список таких функций — по одной для каждой группы в optimizer.param_groups.
- last_epoch (int) – Индекс последней эпохи. По умолчанию: -1.
Пример
>>> # Assuming optimizer has two groups. >>> num_epochs = 100 >>> lambda1 = lambda epoch: epoch // 30 >>> lambda2 = lambda epoch: 0.95**epoch >>> scheduler = LambdaLR(optimizer, lr_lambda=[lambda1, lambda2]) >>> for epoch in range(num_epochs): >>> train(...) >>> validate(...) >>> scheduler.step() >>> >>> # Alternatively, you can use a single lambda function for all groups. >>> scheduler = LambdaLR(opt, lr_lambda=lambda epoch: epoch // 30) >>> 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оптимизатора.Масштабирует
base_lrsс помощью выходных значенийlr_lambdasнаlast_epoch.- Возвращает:
-
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, необязательный) –
Устарело начиная с версии 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.LambdaLR.html