1. 程式人生 > >solver.prototxt引數

solver.prototxt引數

net

net: 訓練預測的網路描述檔案,train_test.prototxt

testing parameter

test_initialization:取值為true或者false,預設為true,就是剛啟動就進行測試,false的話不進行第一次的測試。
test_iter:這需要與test layer中的batch_size結合起來理解。mnist資料中測試樣本總數為10000,一次性執行全部資料效率很低,我們將測試資料分成幾個批次來執行,每個批次的數量就是batch_size。假設我們設定batch_size為100,則需要迭代100次才能將10000個數據全部執行完。因此test_iter設定為100。執行完一次全部資料,稱之為一個epoch。
test_interval

:訓練的時候,每迭代test_interval次就進行一次測試。

learning rate

base_lr:基礎學習速率。
momentum:衝量,靈感來自於牛頓第一定律,基本思路是為尋優加入了“慣性”的影響,這樣一來,當誤差曲面中存在平坦區的時候,SGD可以更快的速度學習。
weight_decay:權衰量
gamma:調節學習速率的因子
power:調節學習速率需要用到的引數
stepsize:每隔stepsize降低學習速率,每隔stepsize,基礎學習速率*gamma
max_iter:訓練的最大迭代次數

lr_policy:

  • “fixed”:固定學習速率,始終等於base_lr
  • “step”:步進衰減,base_lr*gamma^(floor(iter/stepsize))
  • “exp”:指數衰減,base_lr*gamma^(iter)
  • “inv”:倒數衰減,base_lr*(1+gamma*iter)^(-power)
  • “multistep”:多步衰減,與步進衰減類似,允許非均勻步進值(stepvalue)
  • “ploy”:多項式衰減,在max_iter時達到0,base_lr*(1-iter/max_iter)^(power)
  • “sigmoid”:S形衰減,base_lr*(1/(1+exp^(-gamma*(iter-stepsize))))

output

snapshot:迭代snapshot次,列印一次快照,即儲存一次*.caffemodel,*.solverstate
snapshot_prefix:設定儲存路徑
display:每display次列印一次Loss

GPU setting

solver_mode:訓練模式,可選,CPU,GPU,2種模式