假設整體訓練樣本60000個,驗證樣本40000個
1. 訓練樣本有關的參數:
batch_size:600
所以,需要迭代60000/600=100次才能完成一次遍歷訓練,即一個epoch。
因此,test_interval設置爲大於或者等於100再進行驗證。當然你可以訓練多個epoch,比如100個,這時max_iter設爲10000.
2. 驗證時的有關參數:
batch_size=500時,
test_iter大於等於80.
3.學習率
學習率變化規律我們設置爲隨着迭代次數的增加,慢慢變低。總共迭代10000次,我們將變化2次,所以stepsize設置爲10000/2=5000,即每迭代5000次,我們就降低一次學習率。
參數含義
net: “examples/AAA/train_val.prototxt” #訓練或者測試配置文件
test_iter: 80 #完成一次測試需要的迭代次數
test_interval: 100 #測試間隔
base_lr: 0.01 #基礎學習率
lr_policy: “step” #學習率變化規律
gamma: 0.1 #學習率變化指數
stepsize: 5000 #學習率變化頻率
display: 20 #屏幕顯示間隔
max_iter:10000#最大迭代次數
momentum: 0.9 #動量
weight_decay: 0.0005 #權重衰減
snapshot: 5000 #保存模型間隔
snapshot_prefix: “models/A1/caffenet_train” #保存模型
solver_mode: CPU #使用CPU