您的位置:首页 > Web前端

caffe SSD环境搭建过程遇到的问题

2017-08-02 15:52 435 查看
从环境搭建开始:

在文件夹目录下输入:git clone https://github.com/weiliu89/caffe.git 下载SSD版本的caffe

发现这样只执行这个git clone 有一些文件会缺失,导致后面制作数据的时候需要的文件没有。所以需要再运行下面两条命令

cd caffe

git checkout ssd

这样就可以了,再进行编译

又试了下像fasterrcnn那样加参数git clone --recursive参数试了下还是不行,

因为之前对caffe已经配过一遍了,一些细节就不说了,我只记录一下我修改的东西和内容,方便我以后换了实验环境进行重新搭建。

因为是ubuntu16.04所以搭建caffe这个跟ubuntu14不太一样,需要改一些地方,别的博客里也有提到。

我就直接把之前改过的编译好的Makefile.config 和Makefile复制了一份过来

修改Makefile.config的部分 

 备份一份cp Makefile.config.example Makefile.config

根据自己情况解除注释:USE_CUDNN := 1  OPENCV_VERSION := 3   WITH_PYTHON_LAYER := 1

报错:# Whatever else you find you need goes here.

这里主要是hdf5的问题,没安装成功的重新安装hdf5,安装好以后把这边的包含目录改好,安装hdf5在http://blog.csdn.net/bankeey/article/details/76280646里面有。

这是我的目录环境,仅供参考,我这里贴出来是为了我方便以后用哈

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 /usr/lib/x86_64-linux-gnu/hdf5/serial 

修改Makefile的部分:

将:NVCCFLAGS+=-ccbin=$(CXX)-Xcompiler-fPIC
$(COMMON_FLAGS)

替换为:NVCCFLAGS+=-D_FORCE_INLINES-ccbin=$(CXX)-Xcompiler-fPIC
$(COMMON_FLAGS)

编辑/usr/local/cuda/include/host_config.h 

将其中的第115行注释掉:
将
#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
改为
//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!


重新编译发现编译有好多坑,再记录一下出现的问题和解决方法。

报错collect2: error: ld returned 1 exit status

Makefile:619: recipe for target '.build_release/tools/upgrade_net_proto_binary.bin' failed

make: *** [.build_release/tools/upgrade_net_proto_binary.bin] Error 1

搜了一下解决方法:

cd build
cmake ..
make all
make test
make runtest
make pycaffe
make distribute(这一步有问题)然后又cd回caffe目录下,make了一下没报错,暂时算他编译成功了。有问题再回来补充。

试了一下其他博客的测试caffe是否成功方法:

cd caffe/python 
python 
import caffe  没报错就是编译成功

看github上回复说,只要make 没报错就算编译成功。不用管make test那些。


下载预训练模型:

git上的网址:https://gist.github.com/weiliu89/2ed6e13bfd5b57cf81d6

下载完成后保存在目录:caffe/models/VGGNet/

下载完成后:

下载VOC2007和VOC2012数据集, 放在/data目录下:

cd 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

之前搭建pva环境的时候下载过VOCdevkit2007,这三个数据太大,网速比较慢,我就不下载了

主要是参考数据格式。VOC的数据格式就是在VOC文件夹下:准备三个文件夹

Annotations里面放标注好的xml文件使用的这个工具,参考http://blog.csdn.net/jesse_mx/article/details/53606897。

ImageSets  下的Main文件夹里面放 test.txt train.txt trainval.txt val.txt这四个txt文件里面是几种数据集的图片编号

JPEGImages 下放没处理的原始图片。

问题处理:

1、

.sh文件的执行权限不够

修改权限 chmod u+x *.sh

2、

./create_data.sh的时候、运行ssd_pascal.py报错AttributeError: 'module' object has no attribute 'LabelMap'

需要加python环境变量。export PYTHONPATH=$caffe_root/python:$PYTHONPATH

3、

利用caffe自带的脚本绘制loss和accuracy曲线

参考
http://blog.csdn.net/u013078356/article/details/51154847
注意的是最好把plot_training_log.py.example名字改为plot_training_log.py,然后

python plot_training_log.py 0 save.png my.log  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: