lr_policy可以設置為下面這些值,相應的學習率的計算為:
-
- - fixed: 保持base_lr不變.
- - step: 如果設置為step,則還需要設置一個stepsize, 返回 base_lr * gamma ^ (floor(iter / stepsize)),其中iter表示當前的迭代次數
- - exp: 返回base_lr * gamma ^ iter, iter為當前迭代次數
- - inv: 如果設置為inv,還需要設置一個power, 返回base_lr * (1 + gamma * iter) ^ (- power)
- - multistep: 如果設置為multistep,則還需要設置一個stepvalue。這個參數和step很相似,step是均勻等間隔變化,而multistep則是根據stepvalue值變化
- - poly: 學習率進行多項式誤差, 返回 base_lr (1 - iter/max_iter) ^ (power)
- - sigmoid: 學習率進行sigmod衰減,返回 base_lr ( 1/(1 + exp(-gamma * (iter - stepsize))