当前位置:   article > 正文

Python 中的 torch.optim.lr_scheduler 模块

optim.lr_scheduler

1 torch.optim.lr_scheduler 模块介绍

lr_scheduler 模块主要是用来对学习率进行调整的方法, 该方法能让学习过程中, 学习率有特定的变化, 而不是一成不变的


2 lr_scheduler 下面的各个方法

首先一个大前提就是我们需要自己定义一个 model 和一个 optimizer, 最后再将 optimizer 放入 lr_scheduler 中

  1. import torch
  2. import numpy as np
  3. from torch.optim import SGD
  4. from torch.optim import lr_scheduler
  5. from torch.nn.parameter import Parameter
  6. model = [Parameter(torch.randn(2, 2, requires_grad=True))]
  7. optimizer = SGD(model, lr=0.1)

2.1 StepLR

学习率调整方法,每过step_size轮,将此前的学习率乘以gamma

scheduler=lr_scheduler.StepLR(optimizer, step_size=30, gamma=0.1)

2.2 MultiStepLR

它会在每个milestone时,将此前学习率乘以gamma

scheduler = lr_scheduler.MultiStepLR(optimizer, milestones=[30,80], gamma=0.5)

2.3 ExponentialLR

ExponentialLR是指数型下降的学习率调节器,每一轮会将学习率乘以gamma,所以这里千万注意gamma不要设置的太小,不然几轮之后学习率就会降到0

scheduler=lr_scheduler.ExponentialLR(optimizer, 
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/328448
推荐阅读
相关标签
  

闽ICP备14008679号