pytorch 关于 learning rate

  • 查看代码中的learning rate

https://discuss.pytorch.org/t/current-learning-rate-and-cosine-annealing/8952

这是从pytorch官方社区看到的解决方案。

def get_learning_rate(optimizer):
    lr=[]
    for param_group in optimizer.param_groups:
          lr +=[ param_group['lr'] ]
    return lr

也可以直接使用optimizer.param_groups[0][‘lr’]来查看当前的学习率。

  • 设置learning rate的两种方式
self.optimizer = optim.Adam(self.model.parameters(), lr= self.lr)
self.scheduler = optim.lr_scheduler.StepLR(self.optimizer, step_size=3, gamma=0.1)
                                                       ##根据epoch设置不同的学习率,每达到step_size,学习率为原来的 gamma
self.scheduler = optim.lr_scheduler.MultiStepLR(self.optimizer, milestones=[2, 4, 6], gamma=0.5)  # lr decay
                                                         ##根据区间设置不同的学习率,每达到一个区间,学习率为原来的 gamma

转载请注明出处。

    原文作者:小风
    原文地址: https://zhuanlan.zhihu.com/p/39020473
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞