SSD的安装配置和测试以及自己遇到的一些坑


参考了:http://blog.csdn.net/jesse_mx/article/details/52769272,这个作者感觉是个大神

配置环境:SSD+Ubuntu16.04+GT755m+cuda7.5,后来的环境:SSD+Ubuntu16.04+GTX1080TI+cuda8.0

我一开始是用自己的旧电脑配置的,后来发现训练对显卡要求很高,实验室正好配了新电脑,于是在那个电脑上又配置了一遍,情况差不多。

获取源码

SSD采用的是在caffe文件夹中内嵌例程的方式,作者改动了原版caffe,所以需要把原来的caffe文件夹移除,获取源码后把新的caffe要重新编译一次即可。注意把

终端输入:

git clonehttps://github.com/weiliu89/caffe.git 

cd caffe 

git checkout ssd

 

编译

终端输入:

cd /caffe 

cp Makefile.config.example Makefile.config

 

修改Makefile和Makefile.config文件:

在Makefile.config文件中将USE_CUDNN :=1取消注释;

INCLUDE_DIRS := $(PYTHON_INCLUDE)/usr/local/include后面打上一个空格,  然后添加/usr/include/hdf5/serial, 如果没有这一句会报一个找不到hdf5.h的错误

在Makefile文件中替换

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

 

修改环境变量,终端输入:

gedit ~/.profile

最后一行加上:“exportPYTHONPATH= /caffe/python:$PYTHONPATH”

保存退出

source ~/.profile

echo $PYTHONPATH

 

显示/caffe/python:/caffe/python

 

编译,终端输入:

make –j4

make pycaffe –j4

make test –j4

make runtest –j4


问题及解决办法:

我的电脑很老旧,编译caffe时总是出现各种问题,比如找不到文件之类的,于是我将caffe文件夹放置到了/目录下,所有编译命令加上sudo,之后就可以编译了。

这个办法是我无意中发现的,不知道是不是正常解决途径。


准备模型

直接下载原作者最终弄好的模型:

models_VGGNet_VOC0712_SSD_300x300.tar.gz

解压后将voc0712文件夹放入/caffe/models/VGGNet/之下

 

下载voc2007和voc2012数据集:

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

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

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

终端下载很慢,在windows中下载好,放入文件夹/caffe/data/

 

解压:

cd /caffe/data

tar -xvf VOCtrainval_11-May-2012.tar 

tar -xvf VOCtrainval_06-Nov-2007.tar 

tar -xvf VOCtest_06-Nov-2007.tar

 

将图片转化为LMDB文件,用于训练、测试:

cd /caffe/data

./data/VOC0712/create_list.sh 

./data/VOC0712/create_data.sh

 

问题及解决办法:

如果之前的环境变量没有配置好就可能会出现错误:no module named caffe或者no module named caffe-proto。(注:环境变量这个东西貌似不是一劳永逸的,我测试了两次,每次都要重新弄一遍,建议最好是每次弄之前输入一次echo $PYTHONPATH检查是不是对应到/caffe/python,这个应该是和我的电脑老旧有关系)

 

测试

pascal图片集测试:

在caffe根目录下终端输入:

python examples/ssd/score_ssd_pascal.py

注:在运行之前最好先把score_ssd_pascal.py文件打开修改合适的路径。

结果显示:精度为0.776861

测试图如下:

 

pascal电脑前置摄像头测试:

在caffe根目录下终端输入:

python examples/ssd/ssd_pascal_webcam.py

测试图如下:

是我自己的头像,就不放图片了


问题及解决办法:

如果摄像头及视频测试无法完成时,可能是因为opencv没有配置好,重新配置opencv库即可,有很多资料。我在旧电脑上配置顺风顺水,但是新电脑上出现不少问题,我直接就装了一个完整的opnecv3.2,问题解决。


pascal demo视频测试:

在caffe根目录下终端输入:

python examples/ssd/ssd_pascal_video.py

注:在运行之前最好先把ssd_pascal_video.py文件打开修改到合适的路径。

测试图如下:


我的显卡太次,所以只能跑到3.5帧每秒,论文中是用的Titan X,可以跑到58帧每秒,估计TX1也能跑个几十帧每秒。

 

后来实验室配了新电脑,在1080TI上面跑是这样的:


速度快得一笔 


问题及解决办法:

遇到类似于/usr/bin/ld: 找不到 -lopenblas这种问题时,在命令行中直接输入:apt-get install libxxx-dev

 

训练模型:

如果显卡比较差不要尝试自己训练模型了,速度极慢,而且感觉对电脑也不好。我是在1080TI上训练的:

下载预训练模型:

https://gist.github.com/weiliu89/2ed6e13bfd5b57cf81d6

将其放入新建的文件夹/home/mx/caffe/models/VGGNet/中

由于之前数据集什么的都下载好了,所以直接在命令行输入:

cd caffe/  

python examples/ssd/ssd_pascal.py

迭代次数120k,初始学习率0.0001,在1080TI上跑了大概31个小时,一开始的迭代速度是70次/分钟,但是随着时间推移会变慢。显卡差的话千万不要训练!我在老电脑上训练差点把电脑废了,血泪教训。


在新电脑上训练时出现问题:“check failed :error==cudaSuccess (10 vs .0) invalid device ordinal”

解决办法:修改 examples/ssd/ssd_pascal.py文件,找到gpu=“1,2,3,4”这一行,将其修改成gpu=“0”,也即设置成默认的gpu就没问题了


注:在SSD配置过程中还有不少问题,但是网上能找到,我就不在这里赘述了,我记载的问题都是一些我遇到的找不到解决方法的。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值