ssd模型配置及運行demo

轉載自:http://blog.csdn.net/samylee/article/details/51822832

世界各地大牛數不勝數,論文此起彼伏,方法日新月異,不過我們要緊跟時代潮流,做學術領先人,哈哈,我在吹牛,大神們不要打我。。。。。。

繼yolo-darknet後,又一個SSD的配置教程,希望可以幫助大家。若不能配置成功,請與我聯繫,郵箱:[email protected]

注意:1、要求Ubuntu系統預先安裝opencv和cuda7.5,如果您沒有安裝,請參考我的博客:http://blog.csdn.net/samylee/article/details/51684856

2、有些您複製的終端命令如果不能在終端運行,請注意英文全角半角問題,您可以將命令輸入終端,無須複製粘貼命令


第一部分:安裝SSD(caffe)

1、安裝git

終端輸入:

sudo apt-get install git

2、安裝SSD

在主文件下終端輸入(即/home/***(您的服務器名字)這個目錄):

git clone https://github.com/weiliu89/caffe.git

cd caffe

git checkout ssd(出現“分支”則說明copy-check成功)


第二部分:配置SSD(caffe)
終端輸入:
cd /home/**(您服務器的名字)/caffe
cp Makefile.config.example Makefile.config

打開Makefile.config,修改之處可以參考我的Makefile.config文件,文件地址:(鏈接:http://pan.baidu.com/s/1mgVN57i   密碼:34e6)保存退出。
終端輸入:
cd /home/**(您服務器的名字)/caffe
mkdir build
cd build
cmake ..
(cmake和..中間又一個空格
make all -j16("‐j16"是使用 CPU 的多核進行編譯,可以極大地加速編譯的速度)
make install
make runtest
(這一步不是必須的)
make pycaffe(編譯pycaffe)

 

第三部分:下載數據文件

1、 預訓練模型下載

下載地址:鏈接:http://pan.baidu.com/s/1slpaEO9 密碼:loxo

下載地址2:https://pan.baidu.com/s/1boPmTbT

在caffe/models文件夾下新建文件夾,命名爲VGGNet,將剛剛下載下來的文件放入這個VGGNet文件夾當中

2、下載VOC2007和VOC2012數據集

在主文件夾下(即/home/**(您服務器的名字)/)新建文件夾,命名爲data

終端輸入:

cd /home/**(您服務器的名字)/data

wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar

wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar

wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
解壓這三個文件,終端輸入:
cd /home/**(您服務器的名字)/data
tar -xvf VOCtrainval_11-May-2012.tar
tar -xvf VOCtrainval_06-Nov-2007.tar
tar -xvf VOCtest_06-Nov-2007.tar
(請嚴格按照這個順序解壓)

 

第四部分:生成LMDB文件

終端輸入:
cd /home/**(您服務器的名字)/caffe
./data/VOC0712/create_list.sh
./data/VOC0712/create_data.sh

在運行第三步時如果出現no module named caffe或者是no module named caffe-proto,則在終端輸入:

export PYTHONPATH=$PYTHONPATH:/home/**(您服務器的名字)/caffe/python

然後再次運行第三步

 

第五部分:訓練測試演示
1、 訓練
打開caffe/examples/ssd/ssd_pascal.py這個文件,找到gpus=’0,1,2,3’這一行,如果您的服務器有一塊顯卡,則將123刪去,如果有兩個顯卡,則刪去23,以此類推。如果您服務器沒有gpu支持,則註銷以下幾行,程序會以cpu形式訓練。(這個是解決問題cudasuccess(10vs0)的方法)
#Ifnum_gpus >0:

                # batch_size_per_device =int(math.ceil(float(batch_size) / num_gpus))

#iter_size =int(math.ceil(float(accum_batch_size) / (batch_size_per_device * num_gpus)))

  # solver_mode =P.Solver.GPU
  # device_id =int(gpulist[0])

保存後終端運行:
cd  /home/**(您服務器的名字)/caffe
python examples/ssd/ssd_pascal.py

如果出現問題cudasuccess(2vs0)則說明您的顯卡計算量有限,再次打開caffe/examples/ssd/ssd_pascal.py這個文件,找到batch_size =32這一行,修改數字32,可以修改爲16,或者8,甚至爲4(相信大家這個修改可以理解,我就不作說明了),保存後再次終端運行python examples/ssd/ssd_pascal.py
2、 測試
終端輸入:
python examples/ssd/score_ssd_pascal.py(演示detection的訓練結果,數值在0.718左右)
3、 演示
演示網絡攝像頭識別效果,終端輸入:
python examples/ssd/ssd_pascal_webcam.py
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章