在仅cpu模式下运行fast rcnn代码

在了解了fast rcnn 的工作原理之后,接下来的工作就是运行fast rcnn的代码,因为自己笔记本的配置优先,因此仅配置了cpu版本的caffe。
首先,需要在Github上下载Fast rcnn的代码
使用命令: git clone --recursive  https://github.com/rbgirshick/fast-rcnn.git
必须加上--recursive,递归下载所有相关链接中的内容。

可以放在自己的家目录下,下载结束以后的文件内容为:

这里,需要简单了解一下工程目录。
(1)caffe-fast-rcnn   caffe的框架目录
(2)data    用来存放预训练模型,比如ImageNet预训练的模型,第二个作用就是读取cache文件的缓存
(3)experiments   存放配置文件以及运行的log文件。这个目录下也有scripts用来下载ImageNet的模型、以及作者训练好的fast rcnn模型,以及相应的pascal-voc数据集,文件如下展示。

(4)lib    用来存放一些python的接口文件,比如dataset主要负责数据库的读取

(5)matlab    存放matlab与python的接口,可以实现用matlab实现检测。
(6)models    存放了三个网络的模型文件
小型网络:CaffeNet      大型网络VGG16     中型网络VGG_CNN_M_1024
(7)output   存放训练完成后的输出目录,默认在default文件夹下。
(8)tools   存放的是训练和测试的Python文件

简单介绍了下载的内容以后,我们来开始编译和代码运行部分。
1.下载一些基础软件,比如cpython,easydict,python-opencv
   使用如下命令:
        sudo apt-get install python-pip
       sudo pip install cython
       sudo apt-get install python-opencv
       sudo pip install easydict
2.安装atlas
这里需要额外说明下:参考caffe的官网: http://caffe.berkeleyvision.org/installation.html 
在CUDA and BLAS这一个子项明确指出了:

我们使用atlas,所以需要进行安装,另外,提前声明,在设置Makefile的时候,需要根据自己的实际情况,合理进行配置。
下载使用命令:
    sudo apt-get install libatlas-base-dev

3. 生成Cython模块
    进入fast-rcnn目录下的lib,直接make
   ~/fast-rcnn$ cd lib
    make
4. 编译caffe and pycaffe
    进入~/fast-rcnn/caffe-fast-rcnn文件下:
    cd caffe-fast-rcnn
   cp  Makefile.config.example Makefile.config
    此处需要进行根据自己的实际情况进行修改,合理配置。一般晚上的大牛很可能将自己已经修改过的Makefile.config文件直接放上来,下载了替换就可以使用。但是,这样做是有风险的,因为大牛是按照自己的电脑配置的。在我们这里可能行不通。所以,我们简单介绍一下如何进行配置
我修改的地方:
我是在仅cpu下运行代码的,所以:
     USE_CUDNN = 1,这个选项默认情况下时关闭的,保持不变
    WITH_PYTHON_LAYER = 1,这个在默认情况下也是关闭的,FastRCNN需要支持Python接口,因此需要打开
     USE_PKG_CONFIG = 1 记得打开,要不然会找不到一些库文件,PKG是linux用来管理库文件
    CPU_ONLY := 1  我的只用到了cpu,打开。
    另外就是前面老生常谈的问题了,就是BLAS的方式,默认为atlas,根据自己的实际情况进行修改。

    make -j8
    make pycaffe
    这里需要注意下,make -j8是开启8个线程进行同时编译,可以加快编译速度,如果自己的电脑配置比较低,可以老老实实的直接使用make进行编译。

编译过程中出现问题:
(1) Failed to load OpenCL runtime
F0105 03:58:33.773581  2904 syncedmem.hpp:27] Check failed: *ptr host allocation of size 255744000 failed
解决办法:
     sudo apt-get install ocl-icd-opencl-dev
(2)至于第二部分,google了半天,大部分解释都是内存和swap区不足的问题,因为本身电脑配置实在有限。就没有理会。可以采用小的网络进行测试,不会出现诸如此类的问题。


5. 运行demo
cd ~/fast-rcnn/tools
./demo.py --cpu --net caffenet
运行demo的时候,可以指定gpu或cpu的模式,也可以指定使用哪个网络进行测试。比较方便。

运行结果展示:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值