Caffe部署中的几个train-test-solver-prototxt-deploy等说明三
Caffe部署中的幾個train-test-solver-prototxt-deploy等說明<三>
2016-10-13 14:16?147人閱讀?評論(0)?收藏?舉報 ?分類: caffe(18)? 轉載地址:?http://blog.csdn.net/lg1259156776/article/details/52550865
1:神經網絡中,我們通過最小化神經網絡來訓練網絡,所以在訓練時最后一層是損失函數層(LOSS),
在測試時我們通過準確率來評價該網絡的優劣,因此最后一層是準確率層(ACCURACY)。
但是當我們真正要使用訓練好的數據時,我們需要的是網絡給我們輸入結果,對于分類問題,我們需要獲得分類結果,如下右圖最后一層我們得到
的是概率,我們不需要訓練及測試階段的LOSS,ACCURACY層了。
下圖是能過$CAFFE_ROOT/Python/draw_net.py繪制$CAFFE_ROOT/models/caffe_reference_caffnet/train_val.prototxt?? , $CAFFE_ROOT/models/caffe_reference_caffnet/deploy.prototxt,分別代表訓練時與最后使用時的網絡結構。
?
我們一般將train與test放在同一個.prototxt中,需要在data層輸入數據的source,
而在使用時.prototxt只需要定義輸入圖片的大小通道數據參數即可,如下圖所示,分別是
$CAFFE_ROOT/models/caffe_reference_caffnet/train_val.prototxt?? , $CAFFE_ROOT/models/caffe_reference_caffnet/deploy.prototxt的data層
訓練時, solver.prototxt中使用的是rain_val.prototxt
[plain]?view plaincopy使用上面訓練的網絡提取特征,使用的網絡模型是deploy.prototxt
[plain]?view plaincopy
2:
*_train_test.prototxt文件:這是訓練與測試網絡配置文件
*_deploy.prototxt文件:這是模型構造文件deploy.prototxt文件書寫:
注意在輸出層的類型發生了變化一個是SoftmaxWithLoss,另一個是Softmax。另外為了方便區分訓練與應用輸出,訓練是輸出時是loss,應用時是prob。
[plain]?view plaincopy
總結
以上是生活随笔為你收集整理的Caffe部署中的几个train-test-solver-prototxt-deploy等说明三的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VGG-16 prototxt
- 下一篇: 浅谈caffe中train_val.pr