评价此页

MultiplicativeLR#

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

将每个参数组的学习率乘以指定函数给出的因子。

当 last_epoch=-1 时,将初始学习率设置为 lr。

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

  • lr_lambda (functionlist) – 一个计算乘法因子的函数(接收整数参数 epoch),或者此类函数的列表(每个优化器参数组对应一个函数,即 optimizer.param_groups)。

  • last_epoch (int) – 最后一个 epoch 的索引。默认值:-1。

示例

>>> lmbda = lambda epoch: 0.95
>>> scheduler = MultiplicativeLR(optimizer, lr_lambda=lmbda)
>>> for epoch in range(100):
>>>     train(...)
>>>     validate(...)
>>>     scheduler.step()
../_images/MultiplicativeLR.png
get_last_lr()[source]#

获取此调度器计算的最新学习率。

返回:

一个 list,其中包含优化器的每个 param_groups 的学习率条目,其类型与其 group["lr"] 相同。

返回类型:

list[float | Tensor]

注意

返回的 Tensor 是副本,并且从不别名优化器的 group["lr"]

get_lr()[source]#

计算优化器 param_groups 中每个参数组的下一个学习率。

根据 last_epochlr_lambdas 的输出,缩放优化器 param_groups 中每个参数组当前的 group["lr"]

返回:

一个 list,其中包含优化器每个 param_groups 的学习率,其类型与其当前 group["lr"] 相同。

返回类型:

list[float | Tensor]

注意

如果您想查看最近的学习率,请改用 get_last_lr()

注意

返回的 Tensor 是副本,并且从不别名优化器的 group["lr"]

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)[source]#

调度器步进。

参数:

epoch (int, optional) –

自 1.4 版本弃用: 如果提供了 epoch,则将 last_epoch 设置为 epoch,并在可用时使用 _get_closed_form_lr()。此功能并非普遍支持。请改用不带参数的 step()

注意

调用优化器的 step() 后调用此方法。