评价此页

LambdaLR#

class torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda, last_epoch=-1)[source]#

设置初始学习率。

每个参数组的学习率将设置为初始学习率乘以给定的函数。当 last_epoch=-1 时,将初始学习率设置为 lr。

参数
  • optimizer (Optimizer) – 包装的优化器。

  • lr_lambda (function or list) – 一个函数,它接受一个整数参数 epoch 来计算乘法因子,或者是一个此类函数的列表,每个函数对应优化器 param_groups 中的一个组。

  • last_epoch (int) – 上一个 epoch 的索引。默认为 -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()
../_images/LambdaLR.png
get_last_lr()[source]#

返回当前调度器计算的最后一个学习率。

返回类型

list[float]

get_lr()[source]#

计算学习率。

返回类型

list[float]

load_state_dict(state_dict)[source]#

加载调度器的状态。

保存或加载调度器时,请确保同时保存或加载优化器的状态。

参数

state_dict (dict) – 调度器状态。它应该是一个从调用 state_dict() 返回的对象。

state_dict()[source]#

dict 的形式返回调度器的状态。

它包含 self.__dict__ 中每个非优化器变量的一个条目。学习率 lambda 函数仅在它们是可调用对象时保存,而不是在它们是函数或 lambda 时保存。

保存或加载调度器时,请确保同时保存或加载优化器的状态。

返回类型

dict[str, Any]

step(epoch=None)[源代码]#

执行一步。