caffe——solver參數設置

solver文件設置是通過協調網絡的正向推理和反向梯度來協調模型優化,得到試圖改善損失的的參數。學習的職責被分配給負責監督優化和生成參數更新的solver,以及負責生成損失和梯度的網絡。

caffe有六種優化器

  • Stochastic Gradient Descent (type: "SGD")
  • AdaDelta (type: "AdaDelta")
  • Adaptive Gradient (type: "AdaGrad")
  • Adam (type: "Adam")
  • Nesterov’s Accelerated Gradient (type: "Nesterov")
  • RMSprop (type: "RMSProp")

net: "models/bvlc_googlenet/train_val.prototxt" #訓練網絡模型

test_iter: 1000   #測試數據分1000批進行

test_interval: 4000 #每訓練4000步測試一次

test_initialization: false #是否是從頭訓練,false:沿用上一次訓練參數模型

base_lr: 0.01     # 基礎學習率

lr_policy: "step" # 每迭代stepsize次,下調學習率

gamma: 0.1       #下掉學習率的比例,每次下降10%

stepsize: 100000  # 每迭代100000步,調整學習率

max_iter: 350000  # 總共訓練350000步

momentum: 0.9 #剔除10%的參數,對過擬合有一定效果

snapshot: 40000 #迭代40000步保存一次訓練參數模型

snapshot_prefix #保存訓練參數模型地址

solver_mode: GPU #訓練模式:GPU 或 CPU

lr_policy:

lr_policy: 如下7種設置
  //    - fixed: 學習率不變
  //    - step:  base_lr * gamma ^ (floor(iter / step))
  //    - exp:   base_lr * gamma ^ iter
  //    - inv:    base_lr * (1 + gamma * iter) ^ (- power)
  //    - multistep: 類似於step,需要設置stepvalue
  //                       例如stepvalue: 1000 stepvalue: 2000 stepvalue: 3000
  //    - poly:   base_lr (1 - iter/max_iter) ^ (power)
  //    - sigmoid: base_lr ( 1/(1 + exp(-gamma * (iter - stepsize))))

 對於lr_policy不同設置下learning_rate的圖形變化可以看這篇博客:

https://blog.csdn.net/cuijyer/article/details/78195178

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章