SSD的配置安装与测试

update:2017.2.21

1. I was using Atlas instead of MKL,and it works.

2.I was using anti-GFW,so it can be installed completely.


注:

本文参考http://blog.csdn.net/samylee/article/details/51822832

升级cudnnhttp://download.csdn.net/download/eagelangel/9617094

git项目https://github.com/weiliu89/caffe/tree/ssd


安装参考: https://github.com/holzers/caffe-ssd/blob/master/docs/installation.md


继yolo-darknet后,又一个SSD的配置教程:

注意:1、要求Ubuntu系统预先安装opencv和cuda7.5、

2、有些您复制的终端命令如果不能在终端运行,请注意英文全角半角问题,您可以将命令输入终端,无须复制粘贴命令


第一部分:安装SSD(caffe)

1、安装Git

终端输入:

sudo apt-get install git

2、安装SSD

在主文件下终端输入(即/home/***(您的服务器名字)这个目录):

git clone https://github.com/weiliu89/caffe.git  (这个命令在不翻墙情况下下载非常慢,经常下载失败)

cd caffe

git checkout ssd(出现“分支”则说明copy-check成功,我checkout好像是出错了,成功有下面说明,这个一定得正确

root@cloud:~/caffe# git checkout ssd
Branch ssd set up to track remote branch ssd from origin.
Switched to a new branch 'ssd'




第二部分:配置SSD(caffe)
终端输入:
cd /home/**(您服务器的名字)/caffe
cp Makefile.config.example Makefile.config

打开Makefile.config,修改之处可以参考我的Makefile.config文件,文件地址:( 链接:http://pan.baidu.com/s/1mgVN57i   密码:34e6 )保存退出。
终端输入:
cd /home/**(您服务器的名字)/caffe
mkdir build
cd build
cmake ..
(cmake和..中间又一个 空格
make all -j16 ("‐j16"是使用 CPU 的多核进行编译,可以极大地加速编译的速度) (这里如果出错可以考虑升级gcc和cudnn,cudnn开头有链接,亲测把cudnn从v3.0更新到v5.0有效,更新时注意libcudnn.so.7.0.64这些换成libcudnn.so.5.0.5等,还得保留之前的7.0,到后面运行配置的时候会用到他)
make install
make runtest
(这一步不是必须的)
make pycaffe (编译pycaffe)
 

 

第三部分:下载数据文件

1、 预训练模型下载

链接:http://pan.baidu.com/s/1cIIR50 密码:vcbp (原文的链接失效,本文重传了一下)

在caffe/models文件夹下新建文件夹,命名为VGGNet,将刚刚下载下来的文件放入这个VGGNet文件夹当中

2、下载VOC2007和VOC2012数据集(文件太大,有3G这么大,注意时间,也可以从我的白度云里下载,地址:http://pan.baidu.com/s/1i46JIL3    密码:jtdv )

在主文件夹下(即/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
解压这三个文件,终端输入:

cd /home/**(您服务器的名字)/data 
tar -xvf VOCtrainval_11-May-2012.tar
tar -xvf VOCtrainval_06-Nov-2007.tar
tar -xvf VOCtest_06-Nov-2007.tar

 

第四部分:生成LMDB文件

终端输入: (注意这里的要用bash,原因:http://stackoverflow.com/questions/3411048/unexpected-operator-in-shell-programming)

cd /home/**(您服务器的名字)/caffe 
bash ./data/VOC0712/create_list.sh 
bash ./data/VOC0712/create_data.sh
ls

在运行第三步时如果出现no module named caffe或者是no module named caffe-proto,则在终端输入:

 vim /etc/profile然后加入

export PYTHONPATH=$PYTHONPATH:/home/**(您服务器的名字)/caffe/pyhon

解决方案如下:https://github.com/weiliu89/caffe/issues/4

然后再次运行第三步

 

第五部分:训练测试演示
1、 训练
打开caffe/examples/ssd/ ssd_pascal.py 这个文件,找到 gpus=’0,1,2,3’ 这一行,如果您的服务器有 一块 显卡,则将 123 删去,如果有 两个 显卡,则删去 23 ,以此类推。如果您服务器没有gpu支持,则注销以下几行,程序会以cpu形式训练。(这个是解决问题 cudasuccess(10vs0) 的方法)
#Ifnum_gpus >0:

                # batch_size_per_device =int(math.ceil(float(batch_size) / num_gpus))

#iter_size =int(math.ceil(float(accum_batch_size) / (batch_size_per_device * num_gpus)))

 # solver_mode =P.Solver.GPU
  # device_id =int(gpulist[0])

保存后终端运行:
cd  /home/**(您服务器的名字)/caffe
python examples/ssd/ssd_pascal.py

如果出现问题 cudasuccess(2vs0) 则说明您的显卡计算量有限,再次打开caffe/examples/ssd/ ssd_pascal.py 这个文件,找到 batch_size =32 这一行,修改数字 32 ,可以修改为 16 ,或者 8 ,甚至为 4 (相信大家这个修改可以理解,我就不作说明了),保存后再次终端运行 python examples/ssd/ssd_pascal.py
2、 测试
终端输入:
python examples/ssd/score_ssd_pascal.py (演示detection的训练结果,数值在 0.718 左右)
3、 演示
演示网络摄像头识别效果,终端输入:
python examples/ssd/ssd_pascal_webcam.py
demo结果如下( 这里我只帖两张演示图,不过这是我从摄像头实时检测结果中截取的 ):
 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值