环境:VS2013,CUDA8.0,CuDNN 5.0,Win10/7,Anaconda
VS的安装路径下有一个VC文件夹,将其中的bin目录添加值环境变量(该目录下有cl.exe),路径参考如下:
D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
如未正确添加后续步骤将出现 TypeError: object of type ‘NoneType’ has no len() 错误。
下载地址:https://github.com/Microsoft/caffe
由于windows版本caffe的不完善,要先在libcaffe项目中添加roi_poling层的相关支持。具体操作如下:
在libcaffe项目下的 cu—layers 文件夹右击,添加——现有项,找到 caffe根目录—src—caffe—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)
记得在配置中开启python版编译,然后生成caffe。具体步骤可参考这里,生成成功则大功告成。
如果你之前生成过windows版caffe,在添加roi_pooling支持后重新生成时,很可能会碰到error MSB4062错误。我的解决方案如下:
(1)将caffe根目录下的Build文件夹整个删除;
(2)右键 解决方案caffe —清理解决方案;
(3)重新生成。
另:网上有说是CuDNN 5.0 与 CUDA8.0 兼容问题的,也有说是Nuget中opencv更新至2.4.11问题的(默认为2.4.10),我个人的尝试是——不好使 = =。我在两个配置过caffe的机器上都出现了error MSB4062,均为CUDA 8.0+CuDNN 5.0,一个Win7一个Win10,最终都是重新生成得以解决。
下载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')
将Caffe根目录—Build文件夹下,找到生成的pycaffe,将其中的caffe文件夹整体复制到py-faster-rcnn根目录—caffe-fast-rcnn—python文件夹下。我生成的caffe是Release版本,如图:
复制到:
注:官方推荐用命令
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生成。
根据本机的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 install
python setup.py build_ext --inplace
python setup_cuda.py install
假如出现缺少某些依赖项或cv2.pyd (opencv) 的情况,用pip install命令安装或网上搜索相关配置方法即可,pip用法示例:
pip install easydict
成功状态如图:
官方要求我们运行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的锅 = =。
Windows-Caffe,真不容易= =
转载请标明出处:http://blog.csdn.net/u011185952/article/details/71079038
参考博文:http://blog.csdn.net/chenzhi1992/article/details/52618386