轉載自http://blog.csdn.net/iamzhangzhuping/article/details/49993899
先上一張圖,大家很熟悉的一張圖。?
?
首先說明一個概念:在caffe中的一次迭代iteration指的是一個batch,而不是一張圖片。?
下面主要說下2個概念:?
test_iter:在測試的時候,需要迭代的次數,即test_iter* batchsize(測試集的)=測試集的大小,測試集batchsize可以在prototx文件里設置。?
test_interval:interval是區間的意思,該參數表示訓練的時候,每迭代500次就進行一次測試。?
caffe在訓練的過程是邊訓練邊測試的。訓練過程中每500次迭代(也就是32000個訓練樣本參與了計算,batchsize為64),計算一次測試誤差。計算一次測試誤差就需要包含所有的測試圖片(這里為10000),這樣可以認為在一個epoch里,訓練集中的所有樣本都遍歷以一遍,但測試集的所有樣本至少要遍歷一次,至于具體要多少次,也許不是整數次,這就要看代碼,大致了解下這個過程就可以了。
也可以參考:《神經網絡訓練中,傻傻分不清Epoch、Batch Size和迭代》