mindspore.experimental.optim.lr_scheduler.MultiplicativeLR
- class mindspore.experimental.optim.lr_scheduler.MultiplicativeLR(optimizer, lr_lambda, last_epoch=- 1)[源代码]
将每个参数组当前的学习率按照传入的 lr_lambda 函数乘以指定的乘法因子。当 last_epoch = -1 时,将学习率设置成初始学习率。
警告
这是一个实验性的动态学习率接口,需要和 mindspore.experimental.optim 下的接口配合使用。
- 参数:
optimizer (
mindspore.experimental.optim.Optimizer
) - 优化器实例。lr_lambda (Union(function, list)) - 一个关于epoch/step的乘法函数,或类似函数的列表,列表中每个函数对应 optimizer.param_groups 中的每个参数组。
last_epoch (int,可选) - 当前scheduler的 step() 方法的执行次数。默认值:
-1
。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> from mindspore import nn >>> from mindspore.experimental import optim >>> net = nn.Dense(2, 3) >>> optimizer = optim.Adam(net.trainable_params(), 0.01) >>> lmbda = lambda epoch: 0.95 >>> scheduler = optim.lr_scheduler.MultiplicativeLR(optimizer, lr_lambda=lmbda) >>> for i in range(3): ... scheduler.step() ... current_lr = scheduler.get_last_lr() ... print(current_lr) [Tensor(shape=[], dtype=Float32, value= 0.0095)] [Tensor(shape=[], dtype=Float32, value= 0.009025)] [Tensor(shape=[], dtype=Float32, value= 0.00857375)]