windows+py_faster_rcnn+vs2013+无GPU

安装caffe:
致谢:
http://blog.csdn.net/zb1165048017/article/details/51355143

前言
首先来一波地址:
happynear大神的第三方caffe:http://blog.csdn.NET/happynear/article/details/45372231
Neil Z大神的第三方caffe:https://initialneil.wordpress.com/2015/01/11/build-caffe-in-windows-with-visual-studio-2013-cuda-6-5-OpenCV-2-4-9/
caffe提供Windows工具包(caffe-windows):https://github.com/BVLC/caffe/tree/windows 百度云下载地址:链接:http://pan.baidu.com/s/1bp1BFH1 密码:phf3
微软提供Windows工具包(caffe-master):https://github.com/Microsoft/caffe 百度云下载地址:链接:http://pan.baidu.com/s/1hs8ngpA 密码:ith0
微软的Windows三方包(Nuget得到的包):链接:http://pan.baidu.com/s/1pKQKJJP 密码:2vzy
VS2013安装包:链接:http://pan.baidu.com/s/1b6VDJg 密码:f2jp
熟悉完CPU版本的配置以后,可以启用GPU的配置:http://blog.csdn.net/zb1165048017/article/details/51549105
我使用的是微软官方提供的链接,基本上与caffe官网上提供安装包差不多,具体区别没有细看,这个caffe无需配置第三方库的环境变量,直接就可以自动下载所需要的库,包含opencv和boost等。
【注】VS2012的也有人写过,自行参考。此版严格只支持VS2013。此版本无需配置任何第三方环境哦,因为在项目属性里面都已经包含进去了,非常方便。如果出现了一些文件打不开或者其它问题,第一可能是VS自身问题,第二可能你配置过其它caffe,修改过环境变量,导致找不到头文件之类的。
第一步
下载caffe官网提供的工具包,复制Windows下CommonSettings.props.example,后缀改为CommonSettings.props,如下:

这里写图片描述
第二步
由于我电脑无GPU,所以修改复制过来的CommonSettings.props配置文件:
这里写图片描述
这里写图片描述
注意:第二张图中python和matlab选择一个即可。
第三步
1 conda install –yes numpy scipy matplotlib scikit-image pip
2 pip install protobuf
双击Windows下的caffe.sln,项目选择released模式,修改libcaffe的C++常规设置,将警告视为错误选择否:
这里写图片描述
由于faster-rcnn中使用了roi-pooling-layer层,而微软版本编译时并未添加roi_pooling_layer,所以我们需要将头文件,cu文件和cpp文件手动加入到libcaffe中,为防止出现其他问题。本人将caffe-master/include/caffe下的所有头文件加入到libcaffe项目的头文件中,caffe-master/src/caffe的cpp和cu文件加入到libcaffe的源文件和cu文件中。开始生成解决方案,会出现Nuget还原管理界面,

在VS2013中生成解决方案:
【注】官网自带的总共有16个项目(图中为17个,因为predict 是作者写的测试项目,已经在工程中去掉),请注意核对~~~ :->
这里写图片描述
然后会弹出一个窗口,如下图。Nuget所需要的第三方库,可能会未响应,慢慢等吧。结束后会在caffe-master的同级目录下生成一个NugetPackages的目录,该第三方库有十六个文件夹,装的是各种依赖库。最好核对一下文件,免得没下载完就被你关掉了。如果出现无法连接的那个问题,说明IP ping不过去,直接把问题复制到网上搜,有解决方法。
这里写图片描述

第四步
为了方便大家解决这个问题,我直接压缩了一个,下载解压放到与caffe-master并列文件夹即可:链接:http://pan.baidu.com/s/1nuIJMp7 密码:1zgo
这个时候,当下载完毕,VS仍在继续执行生成任务,最终可能失败,原因下面会提示说无法打开libcaffe.lib之类的error。解决方法是直接对libcaffe重新生成,或者直接生成一次

当这个文件生成成功以后,重复一下上一步,对所有文件再重新生成一下,这时候应该不会出现libcaffe.lib无法打开的错误了。
如果
【PS】按照这个流程编译下来很少会出现无法解析外部符号问题,出现这种问题有很大可能是静态库没连接好,但是微软的所有库是自动下载的,除非没下载全。还有关于一些.h 头文件未找到,请自行核对此头文件的位置,然后再配置文件中随便找个IncludePath(此includePath必须在编译时候被使用),将路径加进去即可,同时也必须注意是否需要相关的lib文件。不过帮忙配置挺多电脑以后,基本没遇到太多问题。
第五步
设置一下运行项,解决方案’caffe’->属性

或者下面直接单启动项目是caffe也行,不过最好改一下,原因相信玩过VS的都清楚,如果是单启动项目,那么在你重新编译工程的时候,只会运行次单启动项目,其它项目不会运行,这就是为什么很多人编译以后发现Release或者Debug文件夹下只有caffe.exe而没有conver_imageset.exe等可执行文件的原因。
第六步
运行caffe.cpp,直接双击打开caffe.cpp,然后ctrl+f5直接编译,出现如下命令窗口说明编译成功

【PS】这个其实告诉你了如何调用caffe.exe去训练你的模型

如果你的caffe文件夹下的Build/x64/Release没有pycaffe,在vs中单独对pycaffe工程生成解决方案。若有错误,直接按vs的提示找错误更快捷些。

py-faster-rcnn配置
下载py-faster-rcnn,建议git clone,不然缺少分支, https://github.com/rbgirshick/py-faster-rcnn。(Git clone https://github.com/rbgirshick/py-faster-rcnn.git 也会缺少分支的,要把caffe-fast-rcnn文件夹下的文件再git clone一次才行)确认caffe编译后的Build/x64/Release/添加到系统环境目录。

  caffe编译下Build/x64/Release/pycaffe/caffe 目录复制到py-faster-rcnn/caffe-faster-rcnn/python目录下,替换原有文件。

  py-faster-rcnn windows lib:https://github.com/MrGF/py-faster-rcnn-windows的py-faster-rcnn下载下来,把py-faster-rcnn下的lib复制到py-faster-rcnn下替换到原来的lib文件。

  安装必要库:conda install pyqt ,本人用的anaconda2,可以直接安装。此步骤一般会安装多个依赖库。

  cmd切换到py-faster-rcnn/lib目录:执行python setup.py install 。在这里可能会遇到问题,比如error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27,此时千万别下这个vcpython27,因为它支持的标准时c99,而安装编译时需要编译一个c90写的c程序,就是各种报错。我的解决方案是指定的vs2015为编译器,vs2013我没试过,应该也可以。解决方案为:在环境变量中添加项 VS90COMNTOOLS ,值为 “VS安装路径\Common7\Tools”,后重启。 如
  这里写图片描述
Errorimport提示缺少什么库就加什么库,直至安装完成。
成功后,修改setup_cuda.py(不用gpu的不要修改和安装)中第33行,CUDA的include路径为你自己的路径。执行 python setup_cuda.py install ,如果遇到TypeError: object of type ‘NoneType’ has no len() 错误,添加VS的cl.exe所在路径至环境变量:
VS的安装路径下有一个VC文件夹,将其中的bin目录添加值环境变量(该目录下有cl.exe),路径参考如下:
D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
安装成功后: 运行demo  

  下载模型文件

  方案1、官方链接:http://www.cs.berkeley.edu/~rbg/faster-rcnn-data下载faster -rcnn model

  方案2、百度网盘地址:http://pan.baidu.com/s/1c1JQdby

  cmd切到py-faster-rcnn目录下,执行python ./tool/demo.py 可能出现错误和解决办法:

  1、编译遇到 AttributeError: ‘ProposalLayer’ object has no attribute ‘param_str_’ 问题,找到对应文件,修改param_str_为param_str ,完成编译。

  2、proposal_layer.py出现 keyerror:’1’错误,将第64行改cfg_key=’TEST’#str(self.phase)。注意:这里如果照着复制’TEST’,“ ’ “可能会变成中文字符,导致跑网络失败。
3、如果遇到ImportError: DLL load failed: 找不到指定的程序。参考:http://blog.csdn.net/lzhalan2016/article/details/52415998
第一步:
在命令中输入以下指令卸载相应的包:pip uninstall numpy;pip uninstall scipy;pip uninstall matplotlib;pip scikit-learn
第二步:
在下面的网站中找到对应的包,如果是python2.7就是cp27系列的,电脑是多少位的一定下载对应版本
http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib

http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-learn
第三步:
找到安装python的目录下的scipyts文件,在这个文件里安装相应的whl包
比如指令为 cd C:/xxx/xxx/scipyts,然后在这里用指令 pip install D:/xxx/xxx/xxx.whl
假如有successful的显示就是完成了。
  至此,编译完成,运行成功。
  

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值