Windows64 Py-Faster-RCNN的配置

来源:互联网 发布:知乎俄罗斯模特在中国 编辑:程序博客网 时间:2024/06/08 02:41

环境:VS2013,CUDA8.0,CuDNN 5.0,Win7,Python27
一、准备工作

  1. 添加VS的cl.exe所在路径至环境变量

VS的安装路径下有一个VC文件夹,将其中的bin目录添加值环境变量(该目录下有cl.exe),路径参考如下:

D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin

如未正确添加后续步骤将出现 TypeError: object of type ‘NoneType’ has no len() 错误。

  1. 下载Caffe-Microsoft并添加roi_poling_layer后正确编译

下载地址:https://github.com/Microsoft/caffe
在libcaffe项目下的 cu—layers 文件夹右击添加roi_pooling_layer.cu。
同理,在libcaffe项目下的 src—layers 添加roi_polling_layer.cpp;
(所在路径:caffe根目录—src—caffe—layers)

在libcaffe项目下 include—layers添加roi_pooling_layer.hpp。
(所在路径:caffe根目录—include—caffe—layers)
二 .编译pyCaffe
选择Release模式,先编译libcaffe,再编译pycaffe.
CommonSettings.props的默认miniconda,我只安装了python,所以更改一下。C:\Python27\
Python27需要安装numpy
参考windows64系统下安装Numpyhttp://www.cnblogs.com/1394htw/p/5225644.html

编译pycaffe,有numpy的头文件找不到,可以在pycaffe属性->VC++目录-》包含目录-》C:\Python27\Lib\site-packages\numpy\core\include\

三、配置Faster-RCNN

  1. 配置windows版的py-faster-rcnn

下载py-faster-rcnn,地址:https://github.com/rbgirshick/py-faster-rcnn

由于上述版本中的python都是基于Linux环境编写的,windows运行需要进行改动。好在有人已经完成了相关工作:

再下载py-faster-rcnn-windows,地址:https://github.com/MrGF/py-faster-rcnn-windows
将其中的文件复制进py-faster-rcnn进行替换。

替换后,在py-faster-rcnn根目录—lib—rpn路径下,编辑proposal_layer.py:

(1)将其中的 param_str_ 替换为 param_str。
(2)将cfg_key = str(self.phase)

替换为cfg_key = str('TRAIN' if self.phase == 0 else 'TEST')

  1. 拷入生成的Caffe

将Caffe根目录—Build文件夹下,找到生成的pycaffe,将其中的caffe文件夹整体复制到py-faster-rcnn根目录—caffe-fast-rcnn—python文件夹下。我生成的caffe是Release版本,
D:\Project\caffe-master\Build\x64\Release\pycaffe
复制到:
D:\Project\py-faster-rcnn-master\caffe-fast-rcnn\python

注:官方推荐用命令

git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git

下载py-faster-rcnn,如果用Download ZIP(因为我们已经有了Caffe-Microsoft),在py-faster-rcnn的caffe-faster-rcnn下单独创建python文件夹,再将生成的pycaffe下的caffe拷贝进来,实测也能够完成demo生成。

  1. 定制化修改与setup

根据本机的CUDA环境,修改py-faster-rcnn—lib路径下的setup_cuda.py:

(1)第14行

'-arch=sm_35'

修改为本机显卡的计算能力,具体查询Nvida官网。
(2)第33行

include_dirs = [numpy_include, 'C:\\Programming\\CUDA\\v7.5\\include'])

修改为本机的CUDA-include环境,比如我的路径是:

include_dirs = [numpy_include, 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v8.0\\include'])

此时可以CMD打开至py-faster-rcnn\lib路径下,运行命令:

python setup.py installpython setup.py build_ext --inplacepython setup_cuda.py install

假如出现缺少某些依赖项或cv2.pyd (opencv) 的情况,用pip install命令安装或网上搜索相关配置方法即可,pip用法示例:

pip install easydict
  1. 运行demo

官方要求我们运行py-faster-rcnn\data\scripts下的fetch_faster_rcnn_models.sh进行model下载,实际直接下载该链接:https://dl.dropboxusercontent.com/s/o6ii098bu51d139/faster_rcnn_models.tgz

下载完成后,解压文件夹至py-faster-rcnn\data目录下,

CMD到达py-faster-rcnn\tools路径下,我的环境是VS2013,运行:

SET VS90COMNTOOLS=%VS120COMNTOOLS%python demo.py

其它如VS2012 就改为SET VS90COMNTOOLS=%VS110COMNTOOLS%,出问题就是VS的锅 = =。
参考:http://blog.csdn.net/u011185952/article/details/71079038

原创粉丝点击