DL開源框架Caffe | 用訓練好的模型對資料進行預測
阿新 • • 發佈:2019-01-10
一句話理解Caffe:
Caffe的萬丈高樓(Net)是按照我們設計的圖紙(prototxt),用很多磚塊(Blob)築成一層層(Layer)樓房,最後通過某些手段(Solver)進行簡裝修(Train)/精裝修(Finetune)實現的,另外每個樓層都可以被購買規己用,那麼就會有歸屬(Lable)。
一 Caffe識別問題上利用訓練好的模型預測
利用已有的模型可以對測試資料集進行預測,命令:
./build/tools/caffe.bin test \
> -model examples/mnist/lenet_train_test.prototxt \
> -weights examples/mnist/lenet_iter_10000.caffemodel \
> -iterations 100
命令列解析:
./build/tools/caffe.bin test \
//表示只做預測,不進行引數更新
> -model examples/mnist/lenet_train_test.prototxt \
//指定模型描述文字檔案
> -weights examples/mnist/lenet_iter_10000.caffemodel \
//指定模型預先訓練好的權值檔案
> -iterations 100
//指定測試迭代次數。參與測試樣例數目 = 迭代次數 * batch_size
輸出日誌:
二 Caffe檢測問題上利用訓練好的模型預測
這裡主要針對py-faster-rcnn的目標檢測模型來講,訓練完成的model如何直接用來測試自己的影象呢?
1、訓練完成之後,將output/faster_rcnn_end_to_end/voc_2007_trainval中的最終模型拷貝到data/faster_rcnn_models(刪除以前生成類似的model)中。
2、修改/tools/demo.py為(最好拷貝一份修改):
(1) CLASSES =(‘background‘, ‘xxx’)(這裡是你的類別名)
(2) NETS ={‘vgg16’: (‘VGG16’, ‘VGG16_faster_rcnn_final.caffemodel’),
‘zf’: (‘ZF’,’ZF_faster_rcnn_final.caffemodel’)} (這裡是你訓練完成的model)
(3) 在訓練集圖片中找一張出來放入py-faster-rcnn/data/demo資料夾中,命名為000001.jpg。
im_names = ['000001.jpg'](需要測試的影象名稱)
(4) 根據你自己的訓練方式修改命令列輸入引數,預設的訓練方式為alt_opt的!
3、執行demo,即在py-faster-rcnn資料夾下終端輸入: ./tools/demo.py –net zf