当前位置:   article > 正文

pytorch动态调整学习率torch.optim.lr_scheduler.MultiStepLR()_from torch.optim.lr_scheduler import _lrscheduler

from torch.optim.lr_scheduler import _lrscheduler

pytorch中动态调整学习率的函数:torch.optim.lr_scheduler.MultiStepLR()

例如:

milestones= [50,70]

torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones, gamma=0.1, last_epoch=-1)

说明:
1)milestones为一个数组,如 [50,70];

2)gamma为倍数,如果learning rate开始为0.01 ,则当epoch为50时变为0.001,epoch 为70 时变为0.0001。
3)当last_epoch=-1,设定为初始lr。

使用示例:

opti = torch.optim.Adam(model.parameters(), lr=LR)

#动态调整学习率
drop_after_epoch = [3, 5, 7]
scheduler = optim.lr_scheduler.MultiStepLR(opti, milestones=drop_after_epoch, gamma=0.333, last_epoch=-1) 
for epoch in range(10): 
    train(...) 
    val_acc = validate(...)
   
    #注意,降低学习率需要在给出 val_acc 之后
    scheduler.step(val_acc)

还有其他一些调整学习率的函数,具体可在同一个文件中查看。

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

闽ICP备14008679号