mindspore.experimental.optim.lr_scheduler.ChainedScheduler

查看源文件
class mindspore.experimental.optim.lr_scheduler.ChainedScheduler(schedulers)[源代码]

保存多个学习率调度器的链表,调用 ChainedScheduler.step() 可以执行 schedulers 中每一个学习率调度器的 step() 函数。

警告

这是一个实验性的动态学习率接口,需要和 mindspore.experimental.optim 下的接口配合使用。

参数:
支持平台:

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)]
get_last_lr()[源代码]

返回当前使用的学习率。

step()[源代码]

顺序执行保存的学习率调度器的step()函数。