MATLAB下跑Faster-RCNN+ZF实验时如何编译自己需要的external文件

本篇文章主讲这篇博客中的(http://blog.csdn.net/sinat_30071459/article/details/50546891)的这个部分,如图所示

 

注:截图来自 小咸鱼_ 的博客。

也就是说本文重点教你如何去编译你自己需要的mex文件。
1.准备工作
首先先提醒一下,假如你的显卡的显存还不够3G,那么快去换设备吧,不然好不容易搭好了环境发现实验跑不了岂不是很坑??
话说我之前也是不会自己编译,也是从网上各种找别人编译好的external文件,然后按照别人的软件环境,再从自己的电脑上装相应的环境,简直烦!于是终于决定自己学一学怎么去自己编译需要的external文件,好了,废话不多说,让我们进入正题。

1)所需软件
我先说明一下我用到的软件:
(1)VS2013(update5版本的,不是的话自己去升级,升级的方法戳这里
(2)MATLAB2014b(你可以装其他版本的,这个你随意)
(3)CUDA6.5(你同样可以装其他你需要的版本)
(4)openCV 2.4.9(没有的话戳这里,提取密码: c6b2)
(5)boost_1_57_0(没有的话还是戳这里,提取密码:fiy7)
(6)MKL(还是戳这里,提取密码:pwi7)
上面的安装顺序最好不要乱,否则可能出现Matlab找不到vs的情况,在Matlab命令行窗口输入:mbuild -setup,如果出现:

 

说明 Matlab可以找到 vs2013。 CUDA应在安装 vs2013后再安装。
2)下载需要的代码文件夹
安装完毕后我们需要下载caffe_library和caffe-faster-R-CNN这两个文件夹(需要的话戳这里,提取密码: nbsn),这个不用我多说。将caffe-faster-R-CNN里面的文件全部拷贝到.\caffe_library\caffe中去。
2.开始编译
1)假如你用到的CUDA不是6.5的话,需要进行这一步。是的6.5的话可以直接跳过!
用记事本打开./caffe_library/caffe/windows/caffe/caffe.vcxproj下面的 caffe.vcxproj文件,如图:

 

 

修改里面的CUDA版本号为自己所使用的CUDA版本号!一共有两处要改。例如你用的是CUDA8.0,那么你 就把6.5改成8.0就行了。
2)用VS2013打开.\caffe_library下的caffe.sln
3)更改VC++目录中包含目录和库目录的路径,按照自己的路径修改。
在这里提一下,我们在安装MKL的时候好像并没有提供安装路径的选择,所以有的人可能找不到mkl的路径,别着急,你可以参考一下我的路径,应该能帮助你找到你的

 

你说什么?你不知道怎么去修改?? 自己百度去吧。。。
4)为caffe添加maltlab需要的文件。属性->C/C++->常规->附加包含目录。添加/你的MATLAB路径/extern/include 和 /你的MATLAB路径/toolbox/distcomp/gpu/extern/include

5)设置caffe为启动项目
6)重新生成caffe解决方案

 

经过漫长的等待,如果一切顺利的话最后应该是成功生成两个。
3.制作external文件
说是“制作”,其实就是:
1)将.\caffe_library\x64\Release_Mex中所有的文件拷贝到 :.\faster_rcnn- master\external\caffe\matlab\caffe_faster_rcnn 中去。(目录中没有的文件夹自己创建)
2)然后再将.\caffe-faster-R-CNN\matlab 里面的 +caffe文件夹同样拷贝到.\faster_rcnn- master\external\caffe\matlab\caffe_faster_rcnn 中去。
最后就是这种效果:

到这里,我们所需要的external文件夹就制作完成了!
4.测试external文件是否可用
在MATLAB中运行faster_rcnn_build.m脚本,这里记得修改.\faster_rcnn-master\functions\nms下的
nvmex.m文件中的第八行

修改为你自己的VS安装路径即可,其他地方不用动!

 

最后我们运行faster_rcnn_build.m,运行结果如下:

 

如果你也是这样的话,那么就没什么问题了!我编译好的external文件戳这里(提取密码:9ddu)下载~~~~~


这里说明一下,据本人亲测,编译external文件和windows版本应该没什么关系(至少win7和win10通用,本人亲测!),也就是说同样的软件环境下 win7下编译的external文件挪到win10上一样能用,只要你的软件环境相同就行!

 


好了,我要讲的部分已经结束。接下来你就继续按照小咸鱼的博客,一步一步的做下去就行了,祝你成功,GOOD LUCK!!!

 

posted @ 2017-04-10 17:21  Maitre.Zhao  阅读(2984)  评论(9编辑  收藏  举报