torch.optim.lr_scheduler:调整学习率
本文是笔者在学习 cycleGAN 的代码时,发现其实现了根据需求选择不同调整学习率方法的策略,遂查资料了解pytorch各种调整学习率的方法。主要参考: https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate 1 综述 1.1 lr_scheduler综述 torch.optim.lr_scheduler 模块提供了一些根据epoch训练次数来调整学习率(learning rate)的方法。一般情况下我们会设置随着epoch的增大而逐渐减小学习率从而达到更好的训练效果。 而 torch.optim.lr_scheduler.ReduceLROnPlateau 则提供了基于训练中某些测量值使学习率动态下降的方法。 学习率的调整应该放在optimizer更新之后,下面是一个参考蓝本: >> > scheduler = . . . >> > for epoch in range ( 100 ) : >> > train ( . . . ) >> > validate ( . . . ) >> > scheduler . step ( ) 注意: 在PyTorch 1.1.0之前的版本,学习率的调整应该被放在optimizer更新之前的。如果我们在 1.1.0 及之后的版本仍然将学习率的调整(即