以caffe-master\examples\mnist\lenet_solver.prototxt文件來解析,這個文件爲訓練mnist模型時的超參數文件,這個文件中中有兩個參數test_iter與test_interval,這裏用了單詞“test”,但這個超參數時在訓練階段使用,而不是測試階段,因此我認爲應該翻譯爲驗證更合適。因此文件參數解析如下:
test_iter: 100 #一次驗證計算的圖片批次,一次驗證計算所有驗證集圖片(10000張),分test_iter(100)次進行,每個批次包含64(batch_size)張驗證集圖片。也就是說一次驗證完成100個批次的圖片驗證
test_interval: 500 #每訓練500次(即迭代500次),進行一次驗證。
base_lr: 0.01 #基礎學習率,即初始訓練時的學習率
momentum: 0.9 #梯度下降法中的參數,一般不需變化
weight_decay: 0.0005 #權重衰減項,即正則化項前面的係數,用於防止過擬合
lr_policy: "inv" #訓練過程中學習率調整的方法,如果設置爲inv, 學習率更新爲 base_lr * (1 + gamma * iter) ^ (- power)
gamma: 0.0001 #學習率變化的比率
power: 0.75 #inv中的參數
display: 100 #每訓練(迭代)100次顯示一次訓練的結果
max_iter: 10000 #總共訓練(迭代)10000次
snapshot: 5000 #每5000次訓練(迭代)輸出caffemodel權重文件
snapshot_prefix: "examples/mnist/mnist_data/lenet" #權重文件路徑
solver_mode: GPU #使用GPU訓練
訓練過程中的參數對應如下: