caffe+linux平台——运行ssd流程和排雷

本文详细介绍了在没有网络连接的Linux环境下部署SSD目标检测模型的全过程,包括源代码及预训练模型的下载与配置、测试训练图片的准备、Makefile配置、编译构建、数据集转换以及最终的模型训练等关键步骤。

大家好,最近我在搞SSD,遇到了很多很多问题,一度觉得自己和科研八字不合,但还是坚持下来了,现在把这些问题都记录一下。

1.第一步,下载ssd源代码,好多博客介绍的经验是直接在linux下下载,但是我的linux电脑没有联网,只是在服务器上跑的ssd,所以无法下载,这里介绍拷贝的方法。首先下载好ssd源代码和预训练文件VGG16.

ssd下载地址 https://github.com/weiliu89/caffe/tree/ssd 并在caffe-master/examples/里新建一个文件夹命名caffe-ssd,将下载好的东西解压上传到这个文件夹中。

VGG16下载地址 https://gist.github.com/weiliu89/2ed6e13bfd5b57cf81d6 并在caffe-master/examples/里新建一个文件夹命名VGGNet,将下载好的东西解压上传到这个文件夹中。

2.第二步,下载测试训练图片。

下载地址 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

这三个要按顺序下载哦,下载完解压后放在caffe-master/data里,并命名VOCdevkit

3.第三步,这里我跟博客上介绍的经验不太一样,我用的实验室服务器,已经有了配置好的Makefile.config,直接把Makefile.config复制过去就行了。

cp Makefile.config ./examples/caffe-ssd/

4.第四步,需要make一下,要在caffe-ssd的目录下哦。

cd ./examples/caffe-ssd/ 

make -j 16

make py 

make test -j 16

make runtest -j 16

这里我咨询了师兄,师兄说-j多少并没有什么影响,好多博客写的-j 8,无所谓的。还有我之前在这里一直报错,都不知道错在哪里,结果就删掉重新上传就通过了,有时候就是这么玄学。。。

5.第五步,注意,下面的步骤都是在以caffe-ssd为目录的终端里进行的。

./data/VOC0712/create_list.sh里的root_dir路径和./data/VOC0712/create_data.sh里的data_root_dir的路径改为自己的VOCdevkit的路径。然后运行一下这两个文件生成LMDB格式数据。

这里在运行的时候,create_list.sh没有问题,creat_data.sh会报错,显示ImportError:No module named caffe.proto,这个时候,只需运行vi ~/.bashrc打开隐藏配置文件,复制最后一行的

export PYTHONPATH=$CAFFE_ROOT/python:$PYTHONPATH ,其中后面的地址是在caffe-ssd中python的地址。然后就可以正常运行create_data.sh了。

6.第六步,也是最后一步。修改ssd_pascal.py文件里的gpu参数,用哪块gpu就改成相应的数字,然后运行python examples/ssd/ssd_pascal.py,这一步我还是遇到了问题,显示module has no attribute named 'Phase',这个是我的版本太老了的问题,具体解决办法参照这个人的博客:

http://blog.sina.com.cn/s/blog_7c5425b90102wquf.html

然后就可以运行了。

就这样ssd终于一天一踩坑地能够跑通了,我下面还要换更高的版本再跑一遍,希望这篇博客能够帮助到大家也能帮助到我,我们下期见!


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值