Ubuntu上配置caffe+SSD及demo演示(附带问题汇总)

3 篇文章 0 订阅

实验目的:

不得不说,现在深度学习真的是火,去年年底博主在做人脸识别这个应用的时候,选择的是faster rcnn,还没捂热乎,现在又再看SSD的东西了。SSD和faster rcnn都是目前比较经典的基于caffe深度学习架构的一种方法,是目前比较先进的目标检测方法,还有YOLO,不过在项目组里面博主被安排到了SSD这一边,所以本文就主要说一下安装配置SSD一路上比较坑的地方。目前把faster rcnn放一边而去选择SSD,其中一个最大的原因就是实时性的问题,因为未来需要在嵌入式端部署生产环境,我们选择了NVIDIA TX1,使用faster rcnn的话,一秒钟差不多也就5张左右,可能也没仔细去优化过,但是毕竟局限性摆着这儿,所以从实时性上考虑得话我们选择了SSD。

实验环境:

训练平台:NVIDIA K80

预测平台:NVIDIA TX1

语言        :C++,python

框架        :caffe

方法        :SSD

备注:  博主最近开始接手这件事的,所以目前一切部署都在k80上,demo演示也成功了,之后没问题的话就在TX1 上搭建环境了。根据faster rcnn的部署经验,不会有什么兼容性问题的。

实验步骤:

1.数据准备

ssd在github上的项目主页:weiliu89/caffe

(进入到主页以后,大家跟着里面的配置步骤来,部署caffe这里就不在多说了)

主页上给出的几个文件:

# Download the 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
# Extract the data.
tar -xvf VOCtrainval_11-May-2012.tar
tar -xvf VOCtrainval_06-Nov-2007.tar
tar -xvf VOCtest_06-Nov-2007.tar

这里因为网络的问题,一般下得很慢,贴一下我放到百度云网盘中的资源:

链接:http://pan.baidu.com/s/1c1AwrRy 密码:ly70


这些是VOC的训练集,方便大家自己去亲手操作训练,不过我们今天的目的主要是运行demo,所以需要模型文件还有prototxt文件,在主页的最后,作者给出了自己最新的预训练好的模型文件,还有网络文件:

在我的百度云网盘里面也准备好了(这里我下载的是07++12的模型打包):

链接:http://pan.baidu.com/s/1kVoJ6GR 密码:leo6


有的人可能从github上clone比较慢,我这里提供一份在Windows上clone下来的,同样也是ssd分支的源码压缩包(需要注意的是,里面的脚本文件,是dos格式的,在vim里面用 set ff=unix将其改为unix格式):

链接:http://pan.baidu.com/s/1c19auCK 密码:rog6


目前来看,所有需要准备的东西全部齐全了,我们可以进行到下一步了。

2.实验开始

根据github主页上的步骤来做,在caffe路径下,建议大家在环境中将其路径定义为$CAFFE_ROOT,这样之后的一些脚本文件就不用改太多了。

cp Makefile.config.example Makefile.config
make -j8
# Make sure to include $CAFFE_ROOT/python to your PYTHONPATH.
make py
make test -j8
# (Optional)
make runtest -j8

在这一步,有几个坑,第一个Makefile.config文件,如果你自己的电脑不是 cuda8.0的话,把config文件中的:

CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
               -gencode arch=compute_20,code=sm_21 \
               -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

最后一句注释掉,不然之后报错会有不支持compute_61的错误;第二个坑就是,博主之前给服务器搭建环境的时候caffe的版本还比较老,SSD这个方法用的是目前最新的caffe版本吧貌似,所以主要注意的Linux系统的依赖库有(boost,hdf5),一开始我以为之前都搭建过caffe了,依赖库什么的全部搞定了,后来才想明白貌似caffe在全年年底的时候有过更新,不管怎样,大家在Linux下多敲一些命令,把依赖库都搞定吧,所以这里关于搭建环境推荐两篇博客,选择合适你的地方看就好:

GTX1070+CUDA8.0+Ubuntu16.04+Caffe+SSD 深度学习框架搭建 细节一步到位版 

SSD安装及训练自己的数据集 

3.demo演示

环境部署成功之后就开始demo的演示了,这里先跳过了caffe使用SSD训练自己的数据集,直接用官方的模型和网络文件来先演示下demo,先推荐一个博客:

SSD: Single Shot MultiBox Detector检测单张图片

网络上能搜到的大多数演示都挺无聊的,浪费大家时间,只是把官方主页上的东西搬过来,甚至于一张图片的效果都没有,官方给出的python的脚本是读取网络摄像头的,但是对于单张图片的检测,也给出了C++和python的接口,这里先说python的,文件是examples/ssd_detect.ipynb,这里需要用到ipython和jupyter库,这里其实我挺搞不懂,干嘛不直接写一个py文件好了,不过这也就留给我当做之后的任务吧。

具体的操作在上面贴出来的博客里面已经有了,我说几个遇到的问题:

第一:就是每个接触caffe的人都能会心一笑的路径问题,一共就几个文件,caffemodel文件,prototxt文件,一定要把路径确认好,推荐还是使用绝对路径比较靠谱;

第二:在deploy.prototxt文件的最后,如下图所示:

第一个是输出文件的路径,一定要修改过来;第二个圆圈比较重要,在作者github主页上弄下来的data文件夹中,是没有data/VOC0712/test_name_size.txt这个文件的,大家需要到data路径下的相应位置,找到一个名字叫做create_list.sh的脚本,将里面data的路径修改为自己的,也就是我给大家的第一个百度云盘链接里面的那些文件到时候放到你的系统中的位置,训练完之后才有这个txt文件。

第三:上图中最后其实并不是4952,原本是1w+的,但是官方给的数据集中其实只有4952张图片,没去数过,反正运行create_list那个脚本,输出的统计信息就是4952张图片,改一下就好了。

然后主要的问题就这些了,现在可以看一看效果了。

实验效果:

以上便是这一次实验的目的,至于性能什么的还没来得及去感受,这应该是之后几天的任务了,了解下cpp下的demo,然后梳理一下自己写一个python的接口文件出来,有什么问题欢迎大家一起留言沟通。或者QQ上联系:435977170.。

  • 2
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 安装caffe-ssd-gpu在ubuntu18.04的步骤如下: 1. 安装CUDA:从Nvidia官网下载合适的CUDA安装包,按照官方文档的指引进行安装。 2. 安装依赖:运行以下命令安装所需依赖库: ``` sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev \ libopencv-dev libhdf5-serial-dev protobuf-compiler \ libgflags-dev libgoogle-glog-dev liblmdb-dev libboost-all-dev ``` 3. 下载caffe-ssd-gpu源码并编译:从Github上下载caffe-ssd-gpu的源码,按照官方文档指引进行编译。编译时需要指定编译选项为GPU模式。 4. 运行测试:安装完成后,运行测试脚本,确保安装配置成功。 以上为简要步骤,具体操作请参考对应文档和官方指引。 ### 回答2: Ubuntu18.04是目前比较常见的Linux操作系统之一,而CAFFE-SSD-GPU是深度学习的一个工具。下面是安装caffe-ssd-gpu的步骤: 1. 安装CUDA和cuDNN 首先,您需要安装CUDA和cuDNN,这是运行深度学习框架所需的必备组件。下载安装CUDA和cuDNN之前,您需要查看您的图形卡的型号,以便选择正确的CUDA版本和cuDNN版本。 在下载和安装CUDA和cuDNN之前,您需要在NVIDIA的开发者网站上注册自己,并下载适用于您机器的CUDA和cuDNN版本。此外,您还需要在命令行界面中设置以下环境变量: export PATH=/usr/local/cuda-8.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH 2. 安装依赖项 在安装caffe之前,需要安装一些依赖项。您可以使用以下命令将这些依赖项安装到您的Ubuntu系统上: sudo apt-get update sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler gfortran libjpeg62 libfreeimage-dev libatlas-base-dev git python-dev python-pip libgoogle-glog-dev libbz2-dev libxml2-dev libxslt-dev libffi-dev libssl-dev libgflags-dev liblmdb-dev python-yaml python-numpy python-scipy 3. 下载和安装CAFFE 现在,您需要在您的系统上下载和安装CAFFE。从github上获取caffesource代码并进行安装: git clone https://github.com/weiliu89/caffe.git cd caffe git checkout ssd 4. 编译和安装CAFFE 使用以下命令编译和安装caffe: cp Makefile.config.example Makefile.config make all -j $(($(nproc) + 1)) make pycaffe 执行该命令后,您需要等待一段时间才能完成CAFFE的编译。如果出现任何编译错误,请检查您的CUDA和cuDNN版本是否正确,并重新安装依赖项。 5. 使用CAFFE-SSD-GPU 现在,您已经成功地在Ubuntu18.04操作系统上安装并编译了CAFFE-SSD-GPU,您可以开始使用该工具来执行深度学习任务了。 总结 安装CAFFE-SSD-GPU需要充分理解linux的命令行操作。需要先确认CUDA和cuDNN已经安装,并正确设置环境变量。然后需要下载和安装CAFFE, 并最后编译和安装CAFFE。在安装过程中如果存在问题,可以查看错误日志,重新检查步骤。如果对命令行操作不熟悉,则先学习linux基础操作。 ### 回答3: caffe-ssd-gpu是一种基于caffe框架的用于实现目标检测的神经网络模型,在Ubuntu18.04系统中安装caffe-ssd-gpu需要进行以下步骤: 1. 安装CUDA CUDA是NVIDIA公司推出的用于高性能计算的并行计算平台和编程模型,是使用GPU进行深度学习任务所必需的。在Ubuntu18.04上安装CUDA需要首先确认自己的显卡型号,并选择合适的CUDA版本进行安装。可以在NVIDIA官网上下载相应的CUDA安装包,也可以通过命令行方式进行安装。在安装过程中注意要按照提示完成相应的配置和设置。 2. 安装cuDNN cuDNN是用于深度神经网络的GPU加速库,也是必需的组件之一。在安装过程中同样需要确认CUDA的版本和自己的显卡型号,并下载相应的cuDNN安装包进行安装。 3. 安装依赖包 在安装caffe-ssd-gpu前需要先安装几个依赖包,包括protobuf、opencv、boost等。可以通过命令行方式进行安装,例如: ``` sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev ``` 4. 下载caffe-ssd-gpu源码 可以在GitHub上找到caffe-ssd-gpu的源码,下载后解压到自己想要的目录下。 5. 编译和安装caffe-ssd-gpu 进入caffe-ssd-gpu源码目录下,执行以下命令: ``` cd caffe-ssd-gpu mkdir build cd build cmake .. make all -j8 make install ``` 其中,make all -j8表示使用8个线程进行编译,提高编译速度。make install表示安装编译好的caffe-ssd-gpu库文件和可执行文件。 6. 测试安装是否成功 可以尝试运行caffe-ssd-gpu自带的测试程序,检查安装是否成功。在源码目录下执行以下命令: ``` ./build/tools/caffe time --model=models/VGGNet/VOC0712/SSD_300x300_ft/deploy.prototxt --gpu=0 ``` 这条命令会测试caffe-ssd-gpu在GPU上执行推断的速度,如果没有问题,则说明安装成功。 需要注意的是,在安装过程中可能会遇到各种问题,例如依赖包的版本不兼容、CUDA和cuDNN的配置出错等等。这时候需要耐心调试错误,逐个解决问题,才能确保caffe-ssd-gpu能够正常运行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值