小编今天为大家SSD的配置填坑
环境同样是Ubuntu16.04 GTX1080 CUDA8.0
先从SSD GitHub官网 下载源码,运行下列语句即可。
git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd
在编译SSD之前还请大家先配置Caffe环境,当然可以在小编Caffe环境文章 中找到,这里不再赘述啦。
小编急着编译SSD结果遇到好多坑,翻过一个又掉进另一个,不过最后小编在朋友指导下发现了填满所有坑的法宝,就是着急的小编忘记安装很多关于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到环境变量:
gedit ~/.bashrc
添加到你自己的路径下,小编路径如下:
export PYTHONPATH=/home/vivian/caffe/python:$PYTHONPATH
更新一下环境变量
source ~/.bashrc
依赖包全部安装完毕,可以开始编译啦
cp Makefile.config.example Makefile.config
别急啦,这里还需要修改一下配置文件,gedit Makefile.config打开配置文件,修改如下,删除20, 21, 只保留下面这几个,当然,如果你的GPU是其他型号,可以根据你的型号的计算能力来配置如下参数。
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出现的问题,修改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
编译成功!有没有像小编一样,高兴的跳起来!
训练一下数据测试一下咯~
下载一下训练需要的文件:fully convolutional reduced (atrous) VGGNet 把下载到的VGG_ILSVRC_16_layers_fc_reduced_deploy.prototxt 放到
$CAFFE_ROOT/models/VGGNet/
下载数据集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
创建LMDB文件:
cd $CAFFE_ROOT
./data/VOC0712/create_list.sh
这里可能报错找不到文件,那就gedit ./data/VOC0712/create_list.sh修改路径到你的绝对路径:
root_dir=/home/vivian/caffe/data/VOCdevkit/
运行上一句成功之后再执行:
./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
坑都填好了,可以运行训练啦!~
train小编在同事威逼下配置了SSD,这次也是在同事协同帮助下配置成功,也算是配置中比较顺利的一次啦~
网友评论