torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones, gamma=0.1, last_epoch=-1)
milestones为一个数组,如 [50,70]. gamma为倍数。如果learning rate开始为0.01 ,则当epoch为50时变为0.001,epoch 为70 时变为0.0001。
当last_epoch=-1,设定为初始lr
用法
optimizer = torch.optim.Adam(net.parameters(), lr=opt.LR)
scheduler = MultiStepLR(optimizer, milestones=[2000, 3000, 4000], gamma=0.5) # learning rates
# change the learning rate
scheduler.step(step)
optimizer.zero_grad()