torch.optim.lr_scheduler.StepLR()函数
生活随笔
收集整理的這篇文章主要介紹了
torch.optim.lr_scheduler.StepLR()函数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1 目的
在訓(xùn)練的開始階段, 使用的 LR 較大, loss 可以下降的較快, 但是隨著訓(xùn)練的輪數(shù)越來越多, loss 越來越接近 global min, 若不降低 LR , 就會(huì)導(dǎo)致 loss 在最小值左右來回跳動(dòng)(因?yàn)?LR 較大的緣故), 因此, 隨著訓(xùn)練輪數(shù)的增加, 我們因該逐步減小 LR, 以更快的達(dá)到 global min 并減小局部震蕩, 這就是 optim.lr_scheduler.StepLR() 函數(shù)的作用.
2 StepLR() 及其參數(shù)介紹
import torch.optim as optim scheduler_lr = optim.lr_scheduler.StepLR(optimizer, step_size, gamma, last_epoch = -1, verbose = False)# 記得在訓(xùn)練開始進(jìn)行激活 optimizer.zero_grad() optimizer.step() scheduler_lr.step()參數(shù)介紹:
optimizer: 神經(jīng)網(wǎng)絡(luò)所使用的優(yōu)化器
step_size: 多少輪循環(huán)后更新一次學(xué)習(xí)率
gamma: 每次將 lr 更新為原來的 gamma 倍
總結(jié)
以上是生活随笔為你收集整理的torch.optim.lr_scheduler.StepLR()函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python连接mysql,插入数据时不
- 下一篇: 学习匈牙利算法解决指派问题