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的,后来发现此版本本人电脑用不了(马上会说)。

                                 caffe+win10+CUDA8.0+faster rcnn matlab配置_第1张图片 

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

                                   caffe+win10+CUDA8.0+faster rcnn matlab配置_第2张图片

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

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


    二,

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

                                caffe+win10+CUDA8.0+faster rcnn matlab配置_第3张图片


    三,

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

                                   caffe+win10+CUDA8.0+faster rcnn matlab配置_第4张图片

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

                                 caffe+win10+CUDA8.0+faster rcnn matlab配置_第5张图片


    四,

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

                                                caffe+win10+CUDA8.0+faster rcnn matlab配置_第6张图片

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

    a,项目选择released模式

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

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

                                            caffe+win10+CUDA8.0+faster rcnn matlab配置_第7张图片

                                                               caffe+win10+CUDA8.0+faster rcnn matlab配置_第8张图片

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

                  caffe+win10+CUDA8.0+faster rcnn matlab配置_第9张图片

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

  caffe+win10+CUDA8.0+faster rcnn matlab配置_第10张图片

    再接着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\当中就好了。

                                  caffe+win10+CUDA8.0+faster rcnn matlab配置_第11张图片 

    六,

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

    a,MATLAB和vs编译器的接口你没有配置好,这个你直接使用mex -setup在matlab中进行配置。                                caffe+win10+CUDA8.0+faster rcnn matlab配置_第12张图片

   

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


                                       caffe+win10+CUDA8.0+faster rcnn matlab配置_第13张图片


    七,

    运行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的路径中,直接在设置路径里面设置

                 caffe+win10+CUDA8.0+faster rcnn matlab配置_第14张图片

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

                                    caffe+win10+CUDA8.0+faster rcnn matlab配置_第15张图片

   

 十,

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

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

    下面是结果图:

                                                 caffe+win10+CUDA8.0+faster rcnn matlab配置_第16张图片

                                                 caffe+win10+CUDA8.0+faster rcnn matlab配置_第17张图片

                                                     caffe+win10+CUDA8.0+faster rcnn matlab配置_第18张图片

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

    




你可能感兴趣的:(caffe,deep,learning)