日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > Caffe >内容正文

Caffe

Caffe部署中的几个train-test-solver-prototxt-deploy等说明三

發布時間:2025/3/21 Caffe 189 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Caffe部署中的几个train-test-solver-prototxt-deploy等说明三 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Caffe部署中的幾個train-test-solver-prototxt-deploy等說明<三>

?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
  • ./build/tools/caffe/train?-solver?./models/bvlc_reference_caffenet/solver.prototxt??

  • 使用上面訓練的網絡提取特征,使用的網絡模型是deploy.prototxt

    [plain]?view plaincopy
  • ./build/tools/extract_features.bin?models/bvlc_refrence_caffenet.caffemodel?models/bvlc_refrence_caffenet/deploy.prototxt??

  • 2:

    *_train_test.prototxt文件:這是訓練與測試網絡配置文件

    *_deploy.prototxt文件:這是模型構造文件
    deploy.prototxt文件書寫:
    注意在輸出層的類型發生了變化一個是SoftmaxWithLoss,另一個是Softmax。另外為了方便區分訓練與應用輸出,訓練是輸出時是loss,應用時是prob。
    [plain]?view plaincopy
  • deploy.prototxt文件代碼??
  • ???
  • name:?"CIFAR10_quick"??
  • ?layer?{???????????????#該層去掉??
  • ??name:?"cifar"??
  • ???type:?"Data"??
  • ???top:?"data"??
  • ???top:?"label"??
  • ???include?{??
  • ?????phase:?TRAIN??
  • ???}??
  • ???transform_param?{??
  • ?????mean_file:?"examples/cifar10/mean.binaryproto"??
  • ???}??
  • ???data_param?{??
  • ?????source:?"examples/cifar10/cifar10_train_lmdb"??
  • ?????batch_size:?100??
  • ?????backend:?LMDB??
  • ???}??
  • ?}??
  • ?layer?{?????????????#該層去掉??
  • ??name:?"cifar"??
  • ???type:?"Data"??
  • ???top:?"data"??
  • ???top:?"label"??
  • ???include?{??
  • ?????phase:?TEST??
  • ???}??
  • ???transform_param?{??
  • ?????mean_file:?"examples/cifar10/mean.binaryproto"??
  • ???}??
  • ???data_param?{??
  • ?????source:?"examples/cifar10/cifar10_test_lmdb"??
  • ?????batch_size:?100??
  • ?????backend:?LMDB??
  • ???}??
  • ?}??
  • ?layer?{????????????????????????#將下方的weight_filler、bias_filler全部刪除??
  • ??name:?"conv1"??
  • ???type:?"Convolution"??
  • ???bottom:?"data"??
  • ???top:?"conv1"??
  • ???param?{??
  • ?????lr_mult:?1??
  • ???}??
  • ???param?{??
  • ?????lr_mult:?2??
  • ???}??
  • ???convolution_param?{??
  • ?????num_output:?32??
  • ?????pad:?2??
  • ?????kernel_size:?5??
  • ?????stride:?1??
  • ?????weight_filler?{??
  • ???????type:?"gaussian"??
  • ???????std:?0.0001??
  • ?????}??
  • ?????bias_filler?{??
  • ???????type:?"constant"??
  • ?????}??
  • ???}??
  • ?}??
  • ?layer?{??
  • ???name:?"pool1"??
  • ???type:?"Pooling"??
  • ???bottom:?"conv1"??
  • ???top:?"pool1"??
  • ???pooling_param?{??
  • ?????pool:?MAX??
  • ?????kernel_size:?3??
  • ?????stride:?2??
  • ???}??
  • ?}??
  • ?layer?{??
  • ???name:?"relu1"??
  • ???type:?"ReLU"??
  • ???bottom:?"pool1"??
  • ???top:?"pool1"??
  • ?}??
  • ?layer?{?????????????????????????#weight_filler、bias_filler刪除??
  • ??name:?"conv2"??
  • ???type:?"Convolution"??
  • ???bottom:?"pool1"??
  • ???top:?"conv2"??
  • ???param?{??
  • ?????lr_mult:?1??
  • ???}??
  • ???param?{??
  • ?????lr_mult:?2??
  • ???}??
  • ???convolution_param?{??
  • ?????num_output:?32??
  • ?????pad:?2??
  • ?????kernel_size:?5??
  • ?????stride:?1??
  • ?????weight_filler?{??
  • ???????type:?"gaussian"??
  • ???????std:?0.01??
  • ?????}??
  • ?????bias_filler?{??
  • ???????type:?"constant"??
  • ?????}??
  • ???}??
  • ?}??
  • ?layer?{??
  • ???name:?"relu2"??
  • ???type:?"ReLU"??
  • ???bottom:?"conv2"??
  • ???top:?"conv2"??
  • ?}??
  • ?layer?{??
  • ???name:?"pool2"??
  • ???type:?"Pooling"??
  • ???bottom:?"conv2"??
  • ???top:?"pool2"??
  • ???pooling_param?{??
  • ?????pool:?AVE??
  • ?????kernel_size:?3??
  • ?????stride:?2??
  • ???}??
  • ?}??
  • ?layer?{?????????????????????????#weight_filler、bias_filler刪除??
  • ??name:?"conv3"??
  • ???type:?"Convolution"??
  • ???bottom:?"pool2"??
  • ???top:?"conv3"??
  • ???param?{??
  • ?????lr_mult:?1??
  • ???}??
  • ???param?{??
  • ?????lr_mult:?2??
  • ???}??
  • ???convolution_param?{??
  • ?????num_output:?64??
  • ?????pad:?2??
  • ?????kernel_size:?5??
  • ?????stride:?1??
  • ?????weight_filler?{??
  • ???????type:?"gaussian"??
  • ???????std:?0.01??
  • ?????}??
  • ?????bias_filler?{??
  • ???????type:?"constant"??
  • ?????}??
  • ???}??
  • ?}??
  • ?layer?{??
  • ???name:?"relu3"??
  • ???type:?"ReLU"??
  • ???bottom:?"conv3"??
  • ???top:?"conv3"??
  • ?}??
  • ?layer?{??
  • ???name:?"pool3"??
  • ???type:?"Pooling"??
  • ???bottom:?"conv3"??
  • ???top:?"pool3"??
  • ???pooling_param?{??
  • ?????pool:?AVE??
  • ?????kernel_size:?3??
  • ?????stride:?2??
  • ???}??
  • ?}??
  • ?layer?{???????????????????????#weight_filler、bias_filler刪除??
  • ??name:?"ip1"??
  • ???type:?"InnerProduct"??
  • ???bottom:?"pool3"??
  • ???top:?"ip1"??
  • ???param?{??
  • ?????lr_mult:?1??
  • ???}??
  • ???param?{??
  • ?????lr_mult:?2??
  • ???}??
  • ???inner_product_param?{??
  • ?????num_output:?64??
  • ?????weight_filler?{??
  • ???????type:?"gaussian"??
  • ???????std:?0.1??
  • ?????}??
  • ?????bias_filler?{??
  • ???????type:?"constant"??
  • ?????}??
  • ???}??
  • ?}??
  • ?layer?{??????????????????????????????#?weight_filler、bias_filler刪除??
  • ??name:?"ip2"??
  • ???type:?"InnerProduct"??
  • ???bottom:?"ip1"??
  • ???top:?"ip2"??
  • ???param?{??
  • ?????lr_mult:?1??
  • ???}??
  • ???param?{??
  • ?????lr_mult:?2??
  • ???}??
  • ???inner_product_param?{??
  • ?????num_output:?10??
  • ?????weight_filler?{??
  • ???????type:?"gaussian"??
  • ???????std:?0.1??
  • ?????}??
  • ?????bias_filler?{??
  • ???????type:?"constant"??
  • ?????}??
  • ???}??
  • ?}??
  • ?layer?{??????????????????????????????????#將該層刪除??
  • ??name:?"accuracy"??
  • ???type:?"Accuracy"??
  • ???bottom:?"ip2"??
  • ???bottom:?"label"??
  • ???top:?"accuracy"??
  • ???include?{??
  • ?????phase:?TEST??
  • ???}??
  • ?}??
  • ?layer?{?????????????????????????????????#修改??
  • ??name:?"loss"???????#---loss??修改為??prob??
  • ???type:?"SoftmaxWithLoss"?????????????#?SoftmaxWithLoss?修改為?softmax??
  • ???bottom:?"ip2"??
  • ???bottom:?"label"??????????#去掉??
  • ??top:?"loss"??
  • ?}??
  • 總結

    以上是生活随笔為你收集整理的Caffe部署中的几个train-test-solver-prototxt-deploy等说明三的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。