您的位置:首页 > 编程语言 > MATLAB

faster-rcnn(matlab版)在windows平台上的配置

2017-02-21 19:18 288 查看
caffe在windows平台上的编译一文提到了windows版本caffe编译。微软的官方说明上该版本支持faster-rcnn。但尝试了之后发现并不支持任少卿作者所给的MATLAB版faster-rcnn。按照@toothless_sun博客添加了roi的一些文件之后,可以正常跑demo,训练时会报错:

F0221 10:05:49.852730  9236 layer.hpp:385] Check failed: ExactNumBottomBlobs() == bottom.size() (2 vs. 3) SoftmaxWithLoss Layer takes 2 bottom blob(s) as input.


网上虽然有很多人提问,但是没有给出解决方案。应该还是caffe版本的问题。只好编译任少卿作者给出的caffe版本。

1.编译环境

vs2013+cuda8.0(不使用cudnn)+matlab2014a

faster-rcnn(matlab)

caffe源码

caffe_library,caffe的windows项目及其用到的库。

2.编译caffe

解压caffe_library,将caffe源码复制到/caffe_library/caffe中。

用记事本打开/caffe_library/caffe/windows/caffe/caffe.vcxproj,修改里面的cuda版本号为自己的版本号。有两处292行、481行。

用vs2013打开/caffe_library/caffe.sln

按照博客使用Nuget管理第三方库吧为caffe工程添加opencv、boost、OpenBLAS(用于替换mkl,mkl是收费的)。

为caffe添加maltlab需要的文件。Properties->C/C++->Genaral->Additional Include Directories。添加/你的MATLAB路径/extern/include和/你的MATLAB路径/toolbox/distcomp/gpu/extern/include

删除宏USE_MKL(如果使用mkl,则跳过此步).Properties->C/C++->Preprocessor->Preprecessor Definitions。删除USE_MKL。

删除无用的链接库。Properties->Linker Input->Adtional Dependences。删除opencv和mkl相关的库。

切换项目为x64,Release_Mex编译。

3.faster rcnn配置

将/caffe_library/x64/Release_Mex文件全部拷贝只/faster-rcnn/exteral/caffe/matlab/caffe-rcnn目录下,将caffe源码目录下的matlab中+caffe连同目录拷贝至/faster-rcnn/exteral/caffe/matlab

打开MATLAB切换至faster-rcnn目录。改./function/nms/nvmex.m文件第8行中的vs为自己的安装路径 。然后运行faster_rcnn_build.m编译faster-rcnn。

Host_Compiler_Location = '-ccbin "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64"';


注:任少卿作者给的caffe仅支持GPU训练,使用CPU训练时会报错。Python版的faster r-cnn有人对其进行了扩展,支持CPU训练。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: