caffe+win10+CUDA8.0+faster rcnn matlab配置

    

    最近一直在研究深度学习的内容,这里着手caffe+faster cnn matlab的配置,但此处确实有很多坑,自己几乎配置了两天才完成,在这里将配置的步骤记录下来,防止忘记。

    本人的用的是win10+CUDA8.0+faster rcnn matlab。

    

    一,准备工作(各种安装文件下载)

    1,caffe提供Windows工具包(caffe-master):https://github.com/Microsoft/caffe

    2,faster rcnn matlab版本下载:https://github.com/ShaoqingRen/faster_rcnn 

    2,vs2013下载 链接:http://pan.baidu.com/s/1b6VDJg 密码:f2jp

    3,CUDA8.0的下载地址 : https://developer.nvidia.com/cuda-downloads

     这里比较推荐大家下载CUDA,不仅因为使用cpu,而不使用gpu会使得速度很慢。且后面用到faster rcnn也是需要下载CUDA的。这里我用的是CUDA8.0,本来准备使用版本7.5的,后来发现此版本本人电脑用不了(马上会说)。

                                  

具体的安装过程可以参考:https://wenku.baidu.com/view/ef375d8587c24028905fc377.html

                                   

    记得出现这种情况就不要继续装了,赶紧换版本,不然后面很可能是无用功。

    这里我没有装cudnn,以后有机会的话应该会尝试一下的。


    二,

    解压缩下载的caffe-windows文件,并将该windows文件夹下的CommonSettings.props.example文件复制一份,并将复制的文件命名为CommonSettings.props,如图所示。

                                


    三,

    打开我们的CommonSettings.props,进行如下的一些修改。最后的一个CudaArchitecture,本人没有修改,但最后也编译成功了,不过最好应该对照自己的修改一下。

                                   

    后面保存了自己的matlab安装路径,可以看到横线上又加了一条路径,这是为了防止后面编译matcaffe时显示错误找不到mxGPUArray.h文件。

                                 


    四,

    打开Windows下的caffe.sln文件,这里如果没有按照上面修改,会出现有的libcaffe,test_all load failed的情况发生。可以看到打开后一共有16个projects。

                                                

    接着我们着手编译libcaffe文件,这里有几点需要注意:

    a,项目选择released模式

    b,修改libcaffe的C++常规设置,将警告视为错误选择否

    c,faster-rcnn中使用了roi-pooling-layer,而这里却并未添加roi_pooling_layer,所以我们需要将头文件,cu文件和cpp文件手动加入到libcaffe中,否则在后面配置faster rcnn的工作中会出现错误。

                                            

                                                               

    我们现在可以编译libcaffe了。右键libcaffe,选择生成,开始编译libcaffe。

                  

    libcaffe编译成功之后我们编译caffe。右键生成。

  

    再接着matcaffe。

    之后classification:用来分类 ;compute_image_mean:计算均值


    五,

    好了,caffe弄好了,后面就是faster rcnn matlab的配置了。

    在别的文章中会让你直接运行fetch_data/fetch_caffe_mex_windows_vs2013_cuda65.m 下载编译好的caffe代码,但是这里我们使用的是CUDA8.0 不能使用他的caffe,于是我们自己编译的caffe就排上用场了。就是把编译之后的\x64\Release文件全部拷贝到\external\caffe\matlab\caffe_faster_rcnn\当中就好了。

                                   

    六,

    运行faster_rcnn_build.m 这个运行的时候会报很多错误,这里有两步。

    a,MATLAB和vs编译器的接口你没有配置好,这个你直接使用mex -setup在matlab中进行配置。                                

   

 b,打开nvmex.m这个文件,按照下面的图,将路径修改正确。  


                                       


    七,

    运行startup.m 


    八,

    运行这个文件下载训练好的模型fetch_data/fetch_faster_rcnn_final_model.m ,如果下载不下来也可以在http://pan.baidu.com/s/1hsFKmeK这里直接下载,下载完成后,在faster_rcnn-master目录下解压。output文件夹会被覆盖。


    九,

    运行experiments/script_faster_rcnn_demo.m,到了这一步还是会出现一些错误的可能。

    

    a,在script_faster_rcnn_demo.m中,下图可能会因为多一个fileparts或少一个fileparts出现:错误使用 run (line 46)。

                               

    b,单步调试,发现一到这两步就发生崩溃。

                      fast_rcnn_net = caffe.Net(proposal_detection_model.detection_net_def, 'test');
                      fast_rcnn_net.copy_from(proposal_detection_model.detection_net);

    解决办法:

                   1,前面build libcaffe時 沒有加入之前所说的roi_pooling_layer.cu以及cpp。

                   2,将release生成的matcaffe加入matlab的路径中,直接在设置路径里面设置

                 

                     3,然后将release(如果你的caffe.sln是在Debug下生成的,就把Release换成Debug)加入系统变量path。

                                    

   

 十,

    看看实验结果吧,这里拿来检测行人。

    即使到了这一步还是有可能会崩溃的,这基本上是由于显卡内存不足造成的,即使是使用较小的ZF模型也是需要3G内存的。如果实在不行就令opts.use_gpu  = false,使用cpu吧。

    下面是结果图:

                                                 

                                                 

                                                     

    发现效果比我之前使用Hog+SVM的方法要好很多,应该还有继续改进的余地。

    




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值