首页 > 代码库 > Faster-rcnn-matlab-cuda8.0+ZFnet训练自己的数据

Faster-rcnn-matlab-cuda8.0+ZFnet训练自己的数据

主要参考这篇博文的,一步步配置就能跑起来~~

先说一下所需要的硬件吧:我一开始用的是GT630,只有2G显存,程序跑到一半报错out of memory才知道起码要3G显存才能训练ZF net,至于VGG-16 net更是需要高达8G的显存。于是,换了台实验室的机子,用GTX1080试试。

至于软件,win7系统 + matlab 2014b + cuda 8.0 + vs 2013,别的没什么好说的,cuda 8.0 是1080的标配,不用不行。用了cuda8.0的缘故,mex文件需要自己编译,这也是个巨坑,不过最好还是学会自己编译,省的以后版本变了自己还要去网上满世界的找别人编译好的成品。

 

那就先讲讲vs2013+cuda8.0编译caffe的external文件吧~(vs与cuda的安装很无脑,不讲了,建议先装vs再装cuda)

编译过程参考这里:Caffe for Faster R-CNN,按步骤做就行了。

看上去很简单是吧?操作起来一大堆坑!!

1)下载caffe_library

2)将github上的caffe拷贝到caffe_library的caffe目录下

3)准备opencv,boost,mkl

     a)boost不管什么版本一定要注意下载x64位的安装包,安装完之后会有 lib64-msvc-12.0 这么一个文件夹后面会用到。

          网上说一定要编译才能用,不过实际上lib64-msvc-12.0 已经预编译了我们需要的所有库,直接用即可。

     b)opencv使用未编译包;

     c)mkl需要安装

4)打开caffe_library目录中的slu,更改配置为Release_Mex

打开的时候发现项目caffe无法加载,那是因为默认的是cuda6.5,所以要右键caffe项目,修改配置文件中cuda版本号

5)修改include路径和lib路径

要怎么操作可以百度,路径到底具体到哪个子文件夹可以参考作者的(作者已经添加了自己电脑上的外部库路径,你只需要稍微做一下修改即可)

6)设置caffe为启动项目

7)重新编译caffe包

这儿也有个坑,由于boost已经用了C++14的标准,而VS2013要到update5才支持C++14,所以没办法只能乖乖地升级到update5。

8)复制 .\x64\Release_Mex 中的所有文件到 faster_rcnn-master\external \caffe\matlab\caffe_faster_rcnn.

这里有我编译好的库,如果跟我的环境一样的话可以拷贝过去

到此为止,faster-rcnn的external库更新完毕~~~~~~

  撒花~~~

 

 

然后运行faster_rcnn-master\faster_rcnn_build.m 不出意料,报错!

这时候找到.\function\nms\nvmex.m文件,修改Host_Copliler_Location为你电脑上vs2012的路径,重要是事说三遍!

!2012!2012!2012!

也就是说你还要安装vs2012,反正我的2013不行,不知道还有么有别的办法。

编译完mex文件意味着预备工作完成了。

接下来要准备自己的数据集,可以参考这篇博客,里面要用的工具可以从这里下载。

亲测标注工具只能在win7 下使用,win8 、win10都不行。

按照教程一一修改文件,运行experiments/script_faster_rcnn_VOC2007_ZF.m 很快就能进入迭代了。

现在我的1080正在高速运转,估计明天上午就能出结果了……

Faster-rcnn-matlab-cuda8.0+ZFnet训练自己的数据