1. 程式人生 > >caffe-ssd編譯、訓練、測試全過程(最後有彩蛋)

caffe-ssd編譯、訓練、測試全過程(最後有彩蛋)

大家好,終於把SSD整通了,現在我把整個過程搭建給你們講講。

caffe_ssd多目標檢查效果還是非常好的,線上測試,FPS在20左右。我的訓練的還是官方的資料集,其實我們可通過做自己的資料集得到預測模型也是可以的。

一、SSD編譯

https://github.com/weiliu89/caffe.git
git checkout ssd

跟編譯caffe 是一樣的,進入到caffe的根目錄裡:

cp Makefile.config.example Makefile.config

進入Makefile.config,設定如下,我們需要使用USE_CUDNN(前提你安裝了CUDNN,整個詳細的參考,

戴爾筆記本雙顯示卡配置nvidia367+cuda8.0+caffe


mkdir build
cd build
cmake ..
make all -j
make install 
make runtest
make pycaffe

二、下載資料集

1、預訓練模型下載:

連結: https://pan.baidu.com/s/1nuGojSP 密碼: v9bg

2、下載VOC2007、VOC2012資料集

官網下載太慢了,我已經上傳到了百度雲

連結: https://pan.baidu.com/s/1mhVjuSo 密碼: 8nm7

在home主目錄下

mkdir data
cd data

把剛才下載的資料解壓到data目錄下

tar -xvf VOCtrainval_11-May-2012.tar
tar -xvf VOCtrainval_06-Nov-2007.tar
tar -xvf VOCtest_06-Nov-2007.tar

(安裝我整個順序解壓就可以了)

三、生成LMDA檔案(自己製作資料也需要這樣的)

我這裡把pycaffe的環境加入~/.bashrc檔案中

export PYTHONPATH=$PYTHONPATH:..../caffe/python
source  ~/.bashrc

進入到caffe 的根目錄下

./data/VOC0712/create_list.sh
./data/VOC0712/create_data.sh

四、訓練資料集及線上演示

1、訓練資料集

開啟caffe/examples/ssd/ssd_pascal.py,看到gpus='0,1,2,3' 該成gpus='0'

具體怎麼看自己gpu id? 

nvidia-smi


修改下 batch_size=1和 test_batch_size=1 (視訊記憶體太小了,所以把網格設小點)


注意:迭代數增加,loss應該是逐漸減小,不然就容易發散了。

大概迭代到10000次,會test下,把test_batch_size設定為1,不然會出現視訊記憶體溢位的情況

2、測試下:(我把訓練好的模型進行測試,迭代了240000次)

python examples/ssd/score_ssd_pascal.py
(主要測試下,訓練的結果怎麼樣,0.9左右)

其實一般的情況在0.7左右

3、線上演示


見鬼了,在右邊的空著的椅子出現個person:0.67 ,嚇到我了哭

視訊演示:


單張圖片演示:我們可以使用:jupyter notebook


好了,下期給大家講講怎麼製作自己的資料集,進行訓練模型。

------------------------------2017.6.14 QAQ----------------------------------------

在生成lmda檔案的時候,出現python一些錯誤?

終端執行:

sudo apt-get install python-skimage python-protobuf