小編今天為大家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)境汽摹,當(dāng)然可以在小編Caffe環(huán)境文章?中找到,這里不再贅述啦。
小編急著編譯SSD結(jié)果遇到好多坑,翻過一個又掉進另一個轧拄,不過最后小編在朋友指導(dǎo)下發(fā)現(xiàn)了填滿所有坑的法寶,就是著急的小編忘記安裝很多關(guā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, 只保留下面這幾個,當(dāng)然站绪,如果你的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
編譯成功甫题!有沒有像小編一樣,高興的跳起來涂召!
訓(xùn)練一下數(shù)據(jù)測試一下咯~
下載一下訓(xùn)練需要的文件: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"
運行訓(xùn)練文件前,你可能還需要一個pre-trained model?: VGG_ILSVRC_16_layers_fc_reduced.caffemodel
可以開始訓(xùn)練啦
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
坑都填好了潦闲,可以運行訓(xùn)練啦!~
小編在同事威逼下配置了SSD迫皱,這次也是在同事協(xié)同幫助下配置成功歉闰,也算是配置中比較順利的一次啦~