torch.optim.lr_scheduler.StepLR()函数
生活随笔
收集整理的這篇文章主要介紹了
torch.optim.lr_scheduler.StepLR()函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 目的
在訓練的開始階段, 使用的 LR 較大, loss 可以下降的較快, 但是隨著訓練的輪數越來越多, loss 越來越接近 global min, 若不降低 LR , 就會導致 loss 在最小值左右來回跳動(因為 LR 較大的緣故), 因此, 隨著訓練輪數的增加, 我們因該逐步減小 LR, 以更快的達到 global min 并減小局部震蕩, 這就是 optim.lr_scheduler.StepLR() 函數的作用.
2 StepLR() 及其參數介紹
import torch.optim as optim scheduler_lr = optim.lr_scheduler.StepLR(optimizer, step_size, gamma, last_epoch = -1, verbose = False)# 記得在訓練開始進行激活 optimizer.zero_grad() optimizer.step() scheduler_lr.step()參數介紹:
optimizer: 神經網絡所使用的優化器
step_size: 多少輪循環后更新一次學習率
gamma: 每次將 lr 更新為原來的 gamma 倍
總結
以上是生活随笔為你收集整理的torch.optim.lr_scheduler.StepLR()函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python连接mysql,插入数据时不
- 下一篇: 前端实习生上岗第一天