LambdaLR

torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda, last_epoch=-1, verbose='deprecated')[源代码]

设定初始学习率。

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

参数
  • optimizer (Optimizer) — 包裹后的优化器。

  • lr_lambda (函数或列表) – 这可以是一个根据整数参数 epoch 计算乘法因子的函数,也可以是一个包含此类函数的列表,每个函数对应优化器中的一个参数组。

  • last_epoch (int) – 表示最后一个纪元的索引。默认值为 -1。

  • verbose (bool | str) –

    如果设置为True,则会对每次更新在标准输出中打印一条消息。默认值为False

    自版本 2.2 起已弃用:verbose 已被弃用。请使用 get_last_lr() 来访问学习率。

示例

>>> # Assuming optimizer has two groups.
>>> lambda1 = lambda epoch: epoch // 30
>>> lambda2 = lambda epoch: 0.95 ** epoch
>>> scheduler = LambdaLR(optimizer, lr_lambda=[lambda1, lambda2])
>>> for epoch in range(100):
>>>     train(...)
>>>     validate(...)
>>>     scheduler.step()
get_last_lr()

返回当前调度器计算出的最新学习率。

返回类型

List [float]

get_lr()[源代码]

计算学习率。

load_state_dict(state_dict)[源代码]

加载调度器的状态。

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

参数

state_dict (dict) – 调度器状态。应为调用state_dict() 返回的对象。

print_lr(is_verbose, group, lr, epoch=None)

显示当前学习率。

自版本 2.4 起已弃用:print_lr() 已被弃用,请使用 get_last_lr() 来访问学习率。

state_dict()[源代码]

返回调度器的状态,形式为 dict

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

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

step(epoch=None) 由于上述代码格式已经较为简洁,直接翻译可能难以形成自然语言描述。但根据上下文和意图,可以尝试如下表述: 进行一个训练步骤,参数`epoch`可选设置为`None`。

执行一个步骤。

本页目录