文章目录
1. 重新编译 caffe
之前搭建 caffe 框架的时候,已经编译过 caffe 了,但是由于faster-rcnn中使用了roi-pooling-layer层,而微软版本编译时并未添加roi_pooling_layer,所以我们需要将头文件,cu文件和cpp文件手动加入到libcaffe中。
1.1 修改 libcaffe.vcxproj 以及 libcaffe.vcxproj.filters 文件
修改 libcaffe.vcxproj 文件
在 173 行添加
<ClCompile Include="..\..\src\caffe\layers\roi_pooling_layer.cpp" />
在 354 行添加
<CudaCompile Include="..\..\src\caffe\layers\roi_pooling_layer.cu" />
在 279 行添加
<ClInclude Include="..\..\include\caffe\layers\roi_pooling_layer.hpp" />
修改 libcaffe.vcxproj.filters 文件
在 354 行添加
<ClCompile Include="..\..\src\caffe\layers\roi_pooling_layer.cpp">
<Filter>src\layers</Filter>
</ClCompile>
在 605 行添加
<ClInclude Include="..\..\include\caffe\layers\roi_pooling_layer.hpp">
<Filter>include\layers</Filter>
</ClInclude>
在 754 行添加
<CudaCompile Include="..\..\src\caffe\layers\roi_pooling_layer.cu">
<Filter>cu\layers</Filter>
</CudaCompile>
1.2 编译
按照 上一篇博客 的步骤重新编译修改后的 caffe
重新编译成功
将重新编译的 pycaffe 目录下的 caffe 文件夹复制到 F:\py-faster-rcnn\caffe-fast-rcnn\python 目录下
2. faster rcnn的配置
2.1 下载 faster rcnn
首先利用 git 命令将 faster-rcnn 下载下来
https://github.com/rbgirshick/py-faster-rcnn.git
下载完成
发现 py-faster-rcnn 目录下的 caffe-fast-rcnn 文件是空的,因此再次下载
下载完成
2.2 下载 faster rcnn 的 windows 版本编译文件
由于 faster rcnn 官方并没有提供 windows 的编译文件,不过有大神已经编译好了,我们直接下载就可以了
https://github.com/MrGF/py-faster-rcnn-windows.git
下载完成
2.3 配置
复制 F:\py-faster-rcnn-windows 下的 lib 文件夹,并用它去替换 F:\py-faster-rcnn 下的 lib文件夹。
然后修改 \lib\setup_cuda.py 文件
将 33 行改成 cuda 的 include 路径
include_dirs = [numpy_include, 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\v7.5\\include'])
2.4 安装 setup.py 以及 setup_cuda.py
在 F:\py-faster-rcnn\lib 目录下执行 python setup.py install
出现错误
解决办法:
在命令行中输入 SET VS90COMNTOOLS=%VS120COMNTOOLS% (对于VS2013)
再次执行 python setup.py install
这样就算是安装成功了
执行 python setup_cuda.py install
出现错误
解决办法:
将 D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin 目录添加到环境变量,该目录下应该有 cl.exe。
再次执行 python setup_cuda.py install
安装成功
3. 运行 python 的目标检测程序 demo
3.1 下载 py-faster-rcnn 模型
模型链接:https://pan.baidu.com/s/1ffYYArsNswFM5s941EDwcg
将下载的模型放到 data 下的 faster_rcnn_models 目录下
3.2 执行 demo.py
在 tools 目录下执行 python demo.py
出现错误
解决办法:
将 Anaconda2/Lib/site-packages/下的 matplotlib 删除,重新 pip install matplotlib
再次执行python demo.py
出现错误,cuda 版本不符,真是醉了,编译的时候需要 cuda7.5,运行的时候又需要高版本的 cuda
解决办法:
安装 cuda9.0
再次运行 python demo.py
出现错误
解决办法:
将 param_str_ 改成 param_str
再次运行,出现错误
解决办法:
直接做个判断 phase = 1,则为 TEST 反之则反
再次运行
运行成功