pytorch動態調整學習率之Poly策略

2021-10-21 02:13:18 字數 1217 閱讀 3796

在進行深度學習訓練過程中學習率是優化時非常重要的乙個因子,通常情況下,在訓練過程中學習率都是要動態調整的,通常學習率會逐漸衰減。本文講解其中乙個策略------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...