####參數設置###################
1. ####訓練樣本###
總共:121368個
batch_szie:256
將所有樣本處理完一次(稱為一代,即epoch)需要:121368/256=475 次迭代才能完成
所以這里將test_interval設置為475,即處理完一次所有的訓練數據后,才去進行測試。所以這個數要大於等於475.
如果想訓練100代,則最大迭代次數為47500;
2. ####測試樣本###
同理,如果有1000個測試樣本,batch_size為25,那么需要40次才能完整的測試一次。 所以test_iter為40;這個數要大於等於40.
3. ####學習率###
學習率變化規律我們設置為隨着迭代次數的增加,慢慢變低。總共迭代47500次,我們將變化5次,所以stepsize設置為47500/5=9500,即每迭代9500次,我們就降低一次學習率。
####參數含義#############
net: "examples/AAA/train_val.prototxt" #訓練或者測試配置文件
test_iter: 40 #完成一次測試需要的迭代次數
test_interval: 475 #測試間隔
base_lr: 0.01 #基礎學習率
lr_policy: "step" #學習率變化規律
gamma: 0.1 #學習率變化指數
stepsize: 9500 #學習率變化頻率
display: 20 #屏幕顯示間隔
max_iter: 47500 #最大迭代次數
momentum: 0.9 #動量
weight_decay: 0.0005 #權重衰減
snapshot: 5000 #保存模型間隔
snapshot_prefix: "models/A1/caffenet_train" #保存模型的前綴
solver_mode: GPU #是否使用GPU
stepsize不能太小,如果太小會導致學習率再后來越來越小,達不到充分收斂的效果。