环境:VS2013,CUDA8.0,CuDNN 5.0,Win10/7,Anaconda

一、准备工作

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() 错误。

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

下载地址: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。具体步骤可参考这里,生成成功则大功告成。

error MSB4062: 未能从程序集 …… 加载任务“NuGetPackageOverlay”。

如果你之前生成过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,最终都是重新生成得以解决。

二、配置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)
  • 1

替换为

cfg_key = str('TRAIN' if self.phase == 0 else 'TEST')
  • 1

2. 拷入生成的Caffe

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

复制到:

注:官方推荐用命令

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

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

3. 客制化修改与setup

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

(1)第14行

'-arch=sm_35'
  • 1

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

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

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

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

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

python setup.py install
python setup.py build_ext --inplace
python setup_cuda.py install
  • 1
  • 2
  • 3

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

pip install easydict
  • 1

成功状态如图:

4. 运行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
  • 1
  • 2

其它如VS2012 就改为SET VS90COMNTOOLS=%VS110COMNTOOLS%,出问题就是VS的锅 = =。

Windows-Caffe,真不容易= =

转载请标明出处:http://blog.csdn.net/u011185952/article/details/71079038

参考博文:http://blog.csdn.net/chenzhi1992/article/details/52618386

Caffe: Faster-RCNN Python版本配置 (Windows)相关推荐

  1. Faster R-CNN python版在Ubuntu16.04环境下配置编译

    Faster R-CNN python版在Ubuntu16.04环境下配置编译 1 电脑配置 2 安装显卡驱动 3 安装CUDA 3.1 安装CUDA 3.2 安装CUDNN 3.3 Samples测 ...

  2. Widows下Faster R-CNN的MATALB配置(CPU)

    目录 1. 准备工作 2. VS2013编译Caffe 3. Faster R-CNN的MATLAB源码测试 说实话,费了很大的劲,在调试的过程中,遇到了很多的问题: 幸运的是,最终还是解决了问题: ...

  3. Windows+Caffe(Faster RCNN/RFCN/SSD)编译(Cuda7.5+Cuda8.0)未完待续

    本文试验平台为Win 7/8.1+Cuda7.5/8.0+vs2013,以下资源为vs中编译的工程包,可根据自己环境修改cuda路径. 1. Caffe: http://pan.baidu.com/s ...

  4. eclipse 下安装PyDev并导入faster rcnn python代码调试

    Python在算法研究应用非常广泛,最近要研究faster rcnn的python代码,就得学习python,所以就需要一个趁手的工具来看python代码,否则只是用文本编译器找代码实在是太影响效率了 ...

  5. 解决python版本和Windows版本不兼容的问题

    前言,最近因为用python写的脚本,打包成exe可执行程序,放到其他的windows上去执行,有的是可以执行成功,有的却是失败,所以记录一下. 执行错误如下: 看到报错之后恍然大悟,是打包的版本问题 ...

  6. faster rcnn tensorflow版本遇到的问题记录

    1. fatal error: nsync_cv.h: No such file or directory a. 找到~/tensorflow/venvpy27/lib/python2.7/site- ...

  7. linux下caffe编译以及python环境配置手记

    caffe是一个深度学习的库,相信搞深度学习的话,不是用这个库就是用theano吧.要想使用caffe首先第一步就是要配置好caffe的环境.在这里,我主要说的是在debian的linux环境下如何配 ...

  8. 【泡咖啡1】linux下caffe编译以及python环境配置手记

    caffe是一个深度学习的库,相信搞深度学习的话,不是用这个库就是用theano吧.要想使用caffe首先第一步就是要配置好caffe的环境.在这里,我主要说的是在debian的linux环境下如何配 ...

  9. python环境配置-windows版

    数据库的安装 下载地址: https://cloud.189.cn/t/nQnQVv6BRzay (数据库-mysql8) mysql - 一键安装方式- 课堂版 - pyhui的python全栈技术 ...

最新文章

  1. 安装 Enthought Tool Suite 时遇到的问题
  2. 【pandas学习笔记】Series
  3. 阿里不让 MySQL 多表 Join ?我偏要!
  4. MySQL索引覆盖扫描(覆盖索引)
  5. php渲染视图,Laravel 视图渲染:Blade 模板引擎
  6. java添加信息_java – 向异常添加信息
  7. 在linux实现公平队列,多级反馈队列调度策略在Linux中的应用和实现.pdf
  8. codeforces round div2,3周赛补题计划(从开学到期末)
  9. 什么是Internet cookie?
  10. Atititi 版本管理 rc final rtm ga release 软件的生命周期中一般分4个版本
  11. 《仿人机器人原理与实战》一第2章
  12. java如何输出省略号_关于java:此方法签名中的省略号(…)是什么?
  13. Express-get和post
  14. 国标SVAC对飙通行标准,优势何在?
  15. 用JSP创建一个表格模板 .
  16. python找最长的单词,Python 找出英文单词列表(list)中最长单词链
  17. 老调重弹:JDBC系列之驱动加载原理全面解析)
  18. Ceph万字总结|如何改善存储性能以及提升存储稳定性
  19. 大学文科生vs大学理科生
  20. java把一段英文拆成单词_如何在java中将句子拆分成单词和标点符号

热门文章

  1. boost::hash_range相关的测试程序
  2. boost::mpl模块实现has_xxx相关的测试程序
  3. Boost:以协程的方式实现聊天服务器的实例
  4. VTK:可视化算法之HeadSlice
  5. VTK:可视化之SideBySideViewports
  6. VTK:可视化之CurvatureBandsWithGlyphs
  7. C语言包含字母的2D面板中搜索给定的单词的算法(附完整源码)
  8. C++利用线性探查实现存储机制hash table的算法(附完整源码)
  9. QT的QMaterial类的使用
  10. QT的QCompleter类的使用