在進行深度學習訓練過程中學習率是優化時非常重要的乙個因子,通常情況下,在訓練過程中學習率都是要動態調整的,通常學習率會逐漸衰減。本文講解其中乙個策略------poly策略。
poly是一種指數變換的策略,具體公式如下所示:
l r=
base
_lr×
(1−e
poch
num_
epoc
h)po
werlr = base\_lr \times }}} \right)^}
lr=bas
e_lr
×(1−
num_
epoc
hepo
ch)
powe
r其中,lrlr
lr為新的學習率,bas
e_lr
base\_lr
base_l
r為基準學習率,epo
chepoch
epoc
h為迭代次數,num
_epo
chnum\_epoch
num_ep
och為最大迭代次數,pow
erpower
powe
r控制曲線的形狀(通常其大於1)。
具體**如下:
def
adjust_learning_rate_poly
(optimizer, epoch, num_epochs, base_lr, power)
lr = base_lr *(1
-epoch/num_epochs)
**power
for param_group in optimizer.param_groups:
param_group[
'lr'
]= lr
return lr
以下為學習率隨power變化而變化的曲線,假設bas
pytorch筆記 調整網路學習率
1 class lenet t.nn.module 2def init self 3 super lenet,self init 4 self.features t.nn.sequential 5 t.nn.conv2d 3,6,5 6t.nn.relu 7 t.nn.maxpool2d 2,2 8...
PyTorch學習之六個學習率調整策略
pytorch學習率調整策略通過torch.optim.lr scheduler介面實現。pytorch提供的學習率調整策略分為三大類,分別是 a.有序調整 等間隔調整 step 按需調整學習率 multistep 指數衰減調整 exponential 和 余弦退火cosineannealing。b...
PyTorch學習之六個學習率調整策略
自 pytorch學習率調整策略通過torch.optim.lr scheduler介面實現。pytorch提供的學習率調整策略分為三大類,分別是 a.有序調整 等間隔調整 step 按需調整學習率 multistep 指數衰減調整 exponential 和 余弦退火cosineannealing...