资讯专栏INFORMATION COLUMN

Win x64 +VS2013 + python2.7环境下caffe的配置学习过程

yuanxin / 1473人阅读

摘要:以上是我的配置参数。配置的过程中可能出现各种意想不到的错误,每一个人出现的情况可能都不一样。参考基于环境下的配置学习微软官方之接口配置及图片生成实例下配置无详细教材使用工具时报解决办法上配置操作步骤

前言

 最近项目需要用到caffe这个框架,所以试着配置。由于绝大多数的教程都是基于Linux环境的,所以对于Window的用户来说教程比较少。几经波折以后,终于配置成功,我把配置的重点步骤记录下来。

准备

python2.7

VisualStudio2013

caffe 下载地址: https://github.com/Microsoft/...

 下载以后会得到一个叫作caffe-master.zip的包,把它解压到出来。会得到如下的目录:

这是其中的一部分。

配置文件的设置

 在./caffe-master/windows/路径下找到CommonSettings.props.example文件。打开这个文件,并且进行设置。

true这个标签必须把它写成true。以上是我的配置参数。至于上面三个标签是根据自己的需要设定的。这里我选择只用cpu,如果用到CuDNN的话必须提前下载,还必须把Cuda的版本号写对。
 设置好了以后记得保存,然后回到./caffe-master/windows/中。接下来我们还需要把之前已经设置好的CommonSettings.props.example文件拷贝一份在./caffe-master/windows/中,然后将拷贝后的文件更名为CommonSettings.props。然后右键CommonSettings.props.example选择"Build"(中文应该是“生成”)。

编译项目

 继续在./caffe-master/windows/中,找到Caffe.sln这个文件,用VS2013打开。

 打开以后会出现以下界面

 需要留意的地方有两个,在中间下拉菜单旋转"Release",看看是否有16个项目。然后找到libcaffe这一个项目,右键→“属性”

 在"configuration Properties"目录下找到"C/C++",将“Treat Warnings Aa Errors”调成“NO(/WX-)”。因为在编译libcaffe的过程中可能会出现一下报警,这些报警的级别太高,会被误认为错误。

 留意上面的"Additional Include Directories",把python安装路径下的"include"文件夹的路径填上去,这里要根据各人的地址来填写。我的地址是E:/python/include。写完以后及得用;隔开。

 然后,接着配置caffe项目的属性

 在"C/C++"选项中找到"Additional Include Directories",把python的include文件的路径添加进去,例如:E:/python/include。

 然后,同样是caffe项目下的属性,选择Linker(连接器),选择"Additional Library Directories"(附加库目录),把python的libs的路径添加进去。例如:"E:/python/libs"

 然后我们找到pycaffe这个项目,像上述操作一样找到"C/C++"选项中的"Additional Include Directories",这次需要添加的不止python的include路径,还有numpy的include路径,格式分别是:“E:/python/include”和"E:/python/Lib/site-packages/numpy/core/include"。记得用;隔开

 继续是pycaffe项目,像上述操作一样找到Linker(连接器),选择"Additional Library Directories"(附加库目录),把python的libs的路径和numpy的lib路径添加进去。格式分别是:“E:/python/libs”和"E:/python/Lib/site-packages/numpy/core/lib"。记得用;隔开。

 接下来生成这16个项目,右键Solution"Caffe"选择"Build"(生成)

 时间可能花10到20分钟,如果最后显示生成16个项目成功的话就真的成功编译了。不过很多人可能会出现找不到"python27.lib"这个错误,因为我们上述的操作没有逐个逐个地把python的libs的路径添加到"Additional Library Directories"(附加库目录),编译的时候哪个项目报出错误,就在哪个项目的"Additional Library Directories"(附加库目录)添加libs的路径。

 此外,还有可能遇到找不到python27_d.lib这个错误,最简单的解决方法就是把python27.lib拷贝一份,然后更名为python27_d.lib。

 假设我们都已经编译完成了,在./caffe-master/Build/x64/Release的目录下,看看能不能找到caffe.exe文件,找到的话编译就成功了。

 把./caffe-master/Build/x64/Release/pycaffe目录下的caffe文件夹拷贝到python的Lib目录下,并将这个路径添加到系统变量。

测试

 完成上述操作以后,开始检验能否在python中导入caffe。在dos窗口中输入测试,让我们尝试import caffe,出现如下界面 证明配置成功了。

可能遇到的问题

 上述操作一次成功的朋友这一段可以忽略。配置caffe的过程中可能出现各种意想不到的错误,每一个人出现的情况可能都不一样。之前介绍的步骤为基础步骤,以下说一下我在配置的时候遇到的难题。

Decode error - output not utf-8:
 这个错误是因为Sublime的编码问题造成的,具体解决方法可以参考这里

激活上下文生成失败:
在导入caffe的时候,python报出这个错误。这个错误其实就是SideBySide ID59,网上传闻是由于计算机进行格式化或删除分区后,导致隐含文件消失而产生错误。正好我在安装VS2013之前进行过分区。
 解决的方法比较暴力,就是卸载VS2013再重装,然后将之前介绍的操作重做一遍。卸载和重装VS2013都十分麻烦,而且稍有不慎就会造成卸载后无法重装。

No module named google.protobuf.internal:
 具体操作在这里,关键是能把protoc.exe文件拷贝到protobuf-master/python目录下,若编译失败,可以在网上直接找现成的protoc.exe文件。

参考

基于Windows10 x64+visual Studio2013+Python2.7.12环境下的Caffe配置学习

【caffe-Windows】微软官方caffe之 Python接口配置及图片生成实例

windows7下配置caffe+matlab2016 无GPU(详细教材)

使用 Sublime 工具时报Decode error - output not utf-8解决办法

Windows7上配置Python Protobuf 操作步骤

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44410.html

相关文章

  • 网狐荣耀6701/6801 手机打包发布

    摘要:环境环境主要用于资源打包发布安卓打包和模拟运行和调试。环境下,安卓打包修改文件,中的路径。目录下,提供了一键打包脚本发布版发布版会发布数到路径下。使用以下命令即可运行手机项目。 1.前言 本篇将介绍网狐cocos2dx-lua工程打包android的apk、ios编译过程以及vs2015模拟运行和调试、lua脚本热更新。关于网狐的服务端编译运行,请查看网狐6701/6801服务端编译 ...

    LancerComet 评论0 收藏0
  • 网狐荣耀6701/6801 手机打包发布

    摘要:环境环境主要用于资源打包发布安卓打包和模拟运行和调试。环境下,安卓打包修改文件,中的路径。目录下,提供了一键打包脚本发布版发布版会发布数到路径下。使用以下命令即可运行手机项目。 1.前言 本篇将介绍网狐cocos2dx-lua工程打包android的apk、ios编译过程以及vs2015模拟运行和调试、lua脚本热更新。关于网狐的服务端编译运行,请查看网狐6701/6801服务端编译 ...

    macg0406 评论0 收藏0
  • Windows下编译Caffe并编译Matlab接口

    摘要:介绍是一个深度学习的框架,在下编译。将这个工程复制到中的里面,用打开工程,直接运行发现不能编译。至于接口编译我认为与此原理类似,使用这个工程改路径,可能最终生成改为然后。所以需要自己编译一个适用于自己版本的。找不到一般为正确加载。 介绍: Caffe是一个深度学习的框架,在windows下编译Caffe。实际上Linux下会更舒服,由于我的Linux下安装不了CUDA,只能用CPU跑,...

    MoAir 评论0 收藏0
  • Windows下编译Caffe并编译Matlab接口

    摘要:介绍是一个深度学习的框架,在下编译。将这个工程复制到中的里面,用打开工程,直接运行发现不能编译。至于接口编译我认为与此原理类似,使用这个工程改路径,可能最终生成改为然后。所以需要自己编译一个适用于自己版本的。找不到一般为正确加载。 介绍: Caffe是一个深度学习的框架,在windows下编译Caffe。实际上Linux下会更舒服,由于我的Linux下安装不了CUDA,只能用CPU跑,...

    wenyiweb 评论0 收藏0
  • 一口气完成electron的入门学习

    摘要:目前类似的工具有,等。在渲染进程中,直接调用原生的接口是十分危险的。这里介绍一种,通过和对象,以消息的方式进行通信。主进程获得消息后,通过返回信息。另外,还提供了一种同步的消息传递方式。打包完成功能代码后,我们需要将代码打成可运行的包。 介绍 目前,使用前端技术开发桌面应用已经越来越成熟,这使得前端同学也可以参与桌面应用的开发。目前类似的工具有electron,NW.js等。这里我们着...

    Ethan815 评论0 收藏0

发表评论

0条评论

yuanxin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<