小編今天為大家SSD的配置填坑
環(huán)境同樣是Ubuntu16.04 GTX1080 CUDA8.0
先從SSD GitHub官網(wǎng)?下載源碼,運行下列語句即可。
git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd
在編譯SSD之前還請大家先配置Caffe環(huán)境,當然可以在小編Caffe環(huán)境文章?中找到,這里不再贅述啦。
小編急著編譯SSD結果遇到好多坑,翻過一個又掉進另一個,不過最后小編在朋友指導下發(fā)現(xiàn)了填滿所有坑的法寶,就是著急的小編忘記安裝很多關于python的包,詳情如下:
sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags
sudo pip install Cython ipython
增加pythonpath到環(huán)境變量:
gedit ~/.bashrc
添加到你自己的路徑下,小編路徑如下:
export PYTHONPATH=/home/vivian/caffe/python:$PYTHONPATH
更新一下環(huán)境變量
source ~/.bashrc
依賴包全部安裝完畢,可以開始編譯啦
cp Makefile.config.example Makefile.config
別急啦,這里還需要修改一下配置文件,gedit Makefile.config打開配置文件,修改如下,刪除20, 21, 只保留下面這幾個,當然,如果你的GPU是其他型號,可以根據(jù)你的型號的計算能力來配置如下參數(shù)。
CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_61,code=sm_61
同樣對于hdf5出現(xiàn)的問題,修改include和library路徑如下:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include? /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
嗯,這次是真的可以編譯啦
make -j8
make py
make test -j8
make runtest -j8
編譯成功!有沒有像小編一樣,高興的跳起來!
訓練一下數(shù)據(jù)測試一下咯~
下載一下訓練需要的文件:fully convolutional reduced (atrous) VGGNet 把下載到的VGG_ILSVRC_16_layers_fc_reduced_deploy.prototxt 放到
$CAFFE_ROOT/models/VGGNet/
下載數(shù)據(jù)集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
解壓文件:
tar -xvf VOCtrainval_11-May-2012.tar
tar -xvf VOCtrainval_06-Nov-2007.tar
tar -xvf VOCtest_06-Nov-2007.tar
創(chuàng)建LMDB文件:
cd $CAFFE_ROOT
./data/VOC0712/create_list.sh
這里可能報錯找不到文件,那就gedit ./data/VOC0712/create_list.sh修改路徑到你的絕對路徑:
root_dir=/home/vivian/caffe/data/VOCdevkit/
運行上一句成功之后再執(zhí)行:
./data/VOC0712/create_data.sh
同樣需要修改路徑:
data_root_dir="/home/vivian/caffe/data/VOCdevkit"
運行訓練文件前,你可能還需要一個pre-trained model?: VGG_ILSVRC_16_layers_fc_reduced.caffemodel
可以開始訓練啦
python examples/ssd/ssd_pascal.py
哎呦,又報錯!
來吧,跟小編一起改錯,gedit examples/ssd/ssd_pascal.py
將332行的gpus="0,1,2,3" 修改成 gpus = "0"
337行batch_size = 32 改成 batch_size = 16
338行accum_batch_size = 32 改成 accum_batch_size = 16
坑都填好了,可以運行訓練啦!~
小編在同事威逼下配置了SSD,這次也是在同事協(xié)同幫助下配置成功,也算是配置中比較順利的一次啦~