caffe的train val和test有什麼區別?

我看到網上有些只有train和val而沒有test,而有些就會出現test,而且這三者還要種比例關係,我想問一下val和test有什麼區別。是不是跟caffe升級有關?


train是訓練集,val是訓練過程中的測試集,是為了讓你在邊訓練邊看到訓練的結果,及時判斷學習狀態。test就是訓練模型結束後,用於評價模型結果的測試集。只有train就可以訓練,val不是必須的,比例也可以設置很小。test對於model訓練也不是必須的,但是一般都要預留一些用來檢測,通常推薦比例是8:1:1


train和val都是為了訓練模型參數,test是在參數完全確定後做測試,是衡量你的模型性能。


我認為樓上幾位說得不對。根據caffe/examples/mnist/readme.md中的第250行

Based on the solver setting, we will print the training loss function every 100 iterations, and test the network every 500 iterations. You will see messages like this:

I1203 solver.cpp:204] Iteration 100, lr = 0.00992565

I1203 solver.cpp:66] Iteration 100, loss = 0.26044

...

I1203 solver.cpp:84] Testing net

I1203 solver.cpp:111] Test score #0: 0.9785

I1203 solver.cpp:111] Test score #1: 0.0606671

For each training iteration, `lr` is the learning rate of that iteration, and `loss` is the training function. For the output of the testing phase, score 0 is the accuracy, and score 1 is the testing loss function.

可見test是在訓練過程中進行的。所以說test才是在訓練過程中為了方便看到結果而設置的,而val才是模型訓練結束後驗證模型性能的。

我這樣解釋與test和val的英文原意不符,但是caffe的文檔的確是這樣的


@

theone,我有一個問題,8:1:1的比例是怎麼得到的,這是經驗得到的嗎?還是有理論論證


推薦閱讀:

SparkNet和CaffeOnSpark有哪些重要的區別?
只有caffemodel文件可以反推prototxt嗎?
如何在faster—rcnn上訓練自己的數據集(單類和多類)??
caffe為什麼要使用lmdb資料庫?
怎麼使用caffe實現人臉的識別?

TAG:機器學習 | 深度學習DeepLearning | Caffe深度學習框架 |