mindspore.experimental.optim.lr_scheduler.ChainedScheduler
- class mindspore.experimental.optim.lr_scheduler.ChainedScheduler(schedulers)[源代码]
保存多个学习率调度器的链表,调用 ChainedScheduler.step() 可以执行 schedulers 中每一个学习率调度器的 step() 函数。
警告
这是一个实验性的动态学习率接口,需要和 mindspore.experimental.optim 下的接口配合使用。
- 参数:
schedulers (list[
mindspore.experimental.optim.lr_scheduler.LRScheduler
]) - 学习率调度器的列表。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> from mindspore import nn >>> from mindspore.experimental import optim >>> class Net(nn.Cell): ... def __init__(self): ... super(Net, self).__init__() ... self.fc = nn.Dense(16 * 5 * 5, 120) ... def construct(self, x): ... return self.fc(x) >>> net = Net() >>> optimizer = optim.Adam(net.trainable_params(), 0.01) >>> scheduler1 = optim.lr_scheduler.PolynomialLR(optimizer) >>> scheduler2 = optim.lr_scheduler.ExponentialLR(optimizer, gamma=0.5) >>> scheduler = optim.lr_scheduler.ChainedScheduler([scheduler1, scheduler2]) >>> for i in range(6): ... scheduler.step() ... current_lr = scheduler.get_last_lr() ... print(current_lr) [Tensor(shape=[], dtype=Float32, value= 0.004)] [Tensor(shape=[], dtype=Float32, value= 0.0015)] [Tensor(shape=[], dtype=Float32, value= 0.0005)] [Tensor(shape=[], dtype=Float32, value= 0.000125)] [Tensor(shape=[], dtype=Float32, value= 0)] [Tensor(shape=[], dtype=Float32, value= 0)]