(最新教程)基于Windows7+visual Studio2013+Python2.7.12环境下的Caffe配置学习
来源:互联网 发布:centos搭建网站 编辑:程序博客网 时间:2024/05/16 00:27
刚刚进入深度学习的这个坑,听说深度学习都用caffe这个框架,就马不停蹄的去搭建caffe框架,结果搞了一个星期,在win7上配置的道路一波三折,在此,特写本次博客让后面进坑的朋友少走点弯路,造福社会!!本文在windows下使用visual studio2013配置关联python的caffe项目,看了很多很多教程,按照教程上面走还是各种错,所以索性就去了Microsoft的Github上面,按照他的流程来走,因为是英文的,但是还是能勉强读懂。Microsoft官网配置caffe的教程是这这个:https://github.com/Microsoft/caffe/blob/master/README.md
首先让大家看看我的笔记本配置,很渣很渣,所以没法用gpu,只能勉强的用意cpu。
(二)设置配置文件
在 .\caffe-mastter\windows路径下
新建一个文本文档,重命名为CommonSettings.props ,并复制.\windows\CommonSettings.props.example
文件中的内容到 .\windows\CommonSettings.props。默认情况下windows编译需要CUDA和cuDNN,当然你也可以在配置文档(
.\windows\CommonSettings.props)中去修改为不用,直接将为true的配置设置为false即可。但是python默认情况下是不能使用的,我这里需要用python进行caffe学习,所以就设置为true了。其他三方的库,VS编译时会通过NuGet进行自动获取,非常方便!
(三)下载Python:
为了能使用python调用Caffe,需要在 .\windows\CommonSettings.props中设置<PythonSupport>true</PythonSupport>。如果本机没安装python,可以下载
Miniconda 2.7 64-bit Windows installer,从官方网址:http://conda.pydata.org/miniconda.html选择下载,默认配置路径安装即可。同时需要以管理员权限安装numpy、scipy、matplotlib、scikit-image、protobuf包,安装命令如下:
conda install --yes numpy scipy matplotlib scikit-image pippip install protobuf
注意:
(1)在你编译通过后,需要将编译好的 <caffe_root>\Build\x64\Release\pycaffe\caffe文件复制到python的
<python_root>\lib\site-packages文件夹下面,这样python中才能引用到caffe,不然会报错。
(3)配置python安装命令的时候,一定要记得是用管理员身份运行,否则会出现很多不必要的错误情况。
根据需要,我的配置如下图:
(四)项目编译:
用VS2013,在caffe-master\windows目录下打开caffe.sln,进去后如下图(共16个项目):编译的顺序是:
libcafffe->caffe->pycaffe->convert_imageset,每个项目编译前都需要设置相应的引用路径,这里有两种路径,include路径和libs路径,详细怎么添加见下面。
(1)libcaffe在编译前先设置资源引用路径,点击项目右键-》属性-》配置属性-》c/c++,【附加包含目录中】中加入python的include路径,我这是D:\Python27\include,如下图:
(2)caffe在编译前先设置资源引用路径,点击项目右键-》属性-》配置属性-》c/c++,【附加包含目录中】加入python的include路径,我这是D:\Python27\include,同时,在链接器中的【附加库目录】中加入python的libs路径,我这里是D:\Python27\libs,如下图:
(3)pycaffe在编译前先设置资源引用路径,点击项目右键-》属性-》配置属性-》c/c++,【附加包含目录中】加入python的include路径和numpy的include路径,我这里分别是D:\Python27\include和D:\Python27\Lib\site-packages\numpy\core\include,同时,在链接器中的【附加库目录】中加入python的libs路径和numpy的libs路径,我这里分别是D:\Python27\libs和D:\Python27\Lib\site-packages\numpy\core\lib,如下图:
然后编译,出现了很多不同的错误,下面我列举下:
(1)
如果这个编译时出现:
error LNK2001: 无法解析的外部符号 __imp_PyString_FromString
error LNK2001: 无法解析的外部符号 __imp_PyCallable_Check
error LNK2001: 无法解析的外部符号 __imp_PyObject_CallObject
error LNK2001: 无法解析的外部符号 __imp_Py_Initialize
error LNK2001: 无法解析的外部符号 __imp_Py_IsInitialized
error LNK2001: 无法解析的外部符号 __imp_PyImport_Import
error LNK2001: 无法解析的外部符号 __imp_PyModule_GetDict
error LNK2001: 无法解析的外部符号 __imp_PyDict_GetItemString
error LNK2001: 无法解析的外部符号 __imp_PyRun_SimpleStringFlags
error LNK2001: 无法解析的外部符号 __imp_Py_Finalize
解决的办法,更改编码
(2)如果有出现error C2220: warning treated as error - no object file generated 这样的错误,右击项目,属性,在C/C++那里把treat warning as error设为no,再重新编译一次,就完成编译了。
(3)找不到Python27_d.lib,这是一个python版本问题,建议去文章的前面看看Microsoft是怎么配置python的
(4)报错“error C2220: 警告被视为错误 - 没有生成“object”文件”,解决方法是用vs2013打开这里报错的cpp,然后点击保存即可。
(5)解决方案的16个项目中libcaffe和test_all没有加载成功。不过不影响,先把编译器切换到Release x64.然后点击本地windows调试器,nuget会先下载安装需要的一些库文件,下载完后后继续编译操作,中间可能会出现一些报错
在解决方案后中右击每一个项目,属性->C/C++,把“警告等级”调整为等级3,把“将警告视为错误”改成否。
(6)
设置一下运行项,解决方案'caffe'->属性
或者下面直接单启动项目是caffe也行,不过最好改一下,原因相信玩过VS的都清楚,如果是单启动项目,那么在你重新编译工程的时候,只会运行次单启动项目,其它项目不会运行,这就是为什么很多人编译以后发现Release或者Debug文件夹下只有caffe.exe而没有conver_imageset.exe等可执行文件的原因。
(7)libcaffe库有问题,不识别什么的,解决办法,重新生成就可了
(五)编译完成后检查
如果编译成功了,会在caffe-master同路径下生成NugetPackages文件夹,同时在caffe-master文件夹下生成Build文件夹,在编译生成NugetPackages的文件夹的时候,我是开了VPn生成的,如果不开VPN,貌似时间比较久,几个小时吧。至于其中原因,听说NugetPackages这个被墙了,当然我也只是听说,具体的不清楚
(1)NugetPackages里面内容
一个都不能少,如果少了的话,可能是nuget通信问题,多编译几次就下载完了。
(2)Build文件夹下的内容,一定有caffe.exe文件,不然说明没编译成功
(3)编译成功后的界面是这样的
不懂的可以加我的QQ群: 522869126(深度学习语音识别方向
)欢迎你的到来哦,看了博文给点脚印呗,谢谢啦~~
- (最新教程)基于Windows7+visual Studio2013+Python2.7.12环境下的Caffe配置学习
- 基于Windows10 x64+visual Studio2013+Python2.7.12环境下的Caffe配置学习
- Windows7下Lua的编译和配置,Visual Studio2013
- Caffe_Windows学习笔记(一)基于Win10 x64+VS2013+GPU加速+Python2.7+Matlab2016b环境下的Caffe配置
- Caffe_Linux学习笔记(一)基于Ubuntu16.04+CPU only+Python2.7环境下的Caffe配置
- Windows7旗舰版+Visual Studio2013的OpenGl配置
- Windows10+Visual Studio2013+caffe GPU+CPU环境详细配置
- win7 64位环境下配置visual studio2013 的opencv 3.0环境
- caffe学习笔记1:ubuntu15.04下3分钟完成caffe环境配置(基于docker)
- cuda7.5的 安装、测试、visual studio2013环境中的配置
- caffe在Ubuntu16.40+python2.7.12(CPU ONLY)下的配置
- Visual Studio2013下Magick++配置方法
- 机器学习sklearn库的使用--部署环境(python2.7 windows7 64bit)
- caffe-master+windows7+MATLAB13a+VS2013无GPU(深度学习环境配置)
- 【caffe-Windows7】caffe+VS2013+Windows7无GPU配置教程
- windows7系统上Visual Studio Ultimate 2013环境下Zeromq的安装配置
- Windows7 visual studio 2010下MFC中正确使用GDI+的环境配置
- 在windows平台下使用visual studio2013和opencv3.0.0配置一个开发环境
- [vijos1081]野生动物园(splay)
- apache 日志中记录代理IP以及真实客户端IP
- elf可执行文件的理解(附上elf文件格式图解)
- JDBC的基本操作(CRUD)
- CSS画图形
- (最新教程)基于Windows7+visual Studio2013+Python2.7.12环境下的Caffe配置学习
- 基于ubuntu的Launchpad(5529)开发环境搭建
- 可调参的K-means算法
- printf详细用法
- JAVA多线程
- java的基本语法
- web存储 localStorage与sessionStorage
- 寻路题目,以失败告终。先保存一下
- 【转载收藏】log4j 配置介绍