在windows下编译caffe的python接口(CPU模式)

本文详细介绍了在Windows环境下使用Visual Studio 2013编译Caffe的过程,包括下载所需包、编译工程、安装protobuf、将Caffe文件夹移至自用Python的site-package下等内容。通过三个步骤确保Caffe成功集成到Python环境中,以便后续使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我下面这个文章过时了,caffe官方推荐的windows版本编译请看这个链接  https://github.com/BVLC/caffe/tree/windows



主要的资料来源是happynear的如何在windows下编译caffe的教程(英文github中文csdn博客),但是里面对python接口是分散讲的,而且有个地方有遗漏,摸索一天才发现怎么弄,所以这里针对python的部分单独讲讲,希望能对大家有帮助。

 

我用的是VS2013,CPU模式,因为我的笔记本的N卡太弱了,所以我后来还是用CPU模式了。

 

第一步  下载所需2个包(跟原po文一个意思,已做可略)

一个happynear的github的包,另一个他的3rdparty第三方库包,百度网盘http://pan.baidu.com/s/1i390tZB

1.1 下载的第三方库包里面包含opencv, boost, openblas等caffe所需要的库,将那里面bin,lib,inclue的三个文件夹拷贝到github包里面的3rdparty文件夹下,并将其中的拷贝后的bin文件夹添加的Path环境变量里面。

1.2 下载好github的压缩包caffe-windows-master.zip. 解压build_cpu_only文件夹,里面包含有对应的CPU模式caffe程序,可以用VS2013打开。里面有caffe,pycaffe等七个项目,默认打开的是caffe这个项目,可以右击Mainbuilder解决方案里面,在启动项目里面选择pycaffe,这样可以编译pycaffe这个项目。

 

第二步  编译工程(跟原文一个意思,已做可略)

编译前改两个地方,右击pycaffe项目,在属性里面,分别把1)C/C++的附加包含目录include和2)链接器--常规—附加库目录libs的路径修改了。默认是D盘的python27,我修改成了Anaconda的python2.7的版本

 

 

双击运行caffe-windows-master\src\caffe\proto\extract_proto.bat

他的效果是在另一个文件夹:caffe-windows-master\python\caffe\下面生成一个proto文件夹和内含如下两个文件。

 

 

这样我们开始编译了,右击VS2013里面pycaffe项目点击生成。生成之后如果显示这个无法打开_caffe.pyd文件,就说明生成成功了(因为pyd是python编译好的dll文件,VS是不可能打开的)。编译完成后,在caffe-windows-master\python\caffe文件夹下面生成了_caffe.pyd文件

 

第三步   pip安装protobuf

这个时候我们还需要安装一个google的protobuf的包,使用pip install protobuf进行安装。

如果没有走这一步,而将现在的github包的\python\caffe文件夹放到我们自己用的python package下(比如C:\Anaconda2\Lib\site-packages),会看到这个错误

 

第四步   把caffe-windows-master\python下的caffe文件夹,整碗端到自用python的site-package下 (热烈祝贺蔡英文整碗捧去~~)


总之,经过下面这三个过程,github包下面的python\caffe文件夹已经齐全了。

1)      extract_proto.bat生成python\caffe下面的caffe.proto文件和proto文件夹。

2)      VS2013编译pycaffe项目,同样也是在python\caffe这个文件夹下生成_caffe.pyd。

3)      Pip安装google的protobuf包(具体命令pip installprotobuf)

我们将这个caffe文件夹移到C:\Anaconda2\Lib\site-packages\下面,这个时候import caffe应该没有错误了。可以用示例代码跑跑看

 

最开始我以为直接编译出pyd文件就可以了,像opencv一样,但是其实是编译出整个caffe文件夹,加好所有东西,然后放到site-package下面来使用,而不是使用单个的_caffe.pyd文件。


希望对各位有帮助。



参考

happynear的中文英文资料 

https://github.com/happynear/caffe-windows

http://blog.youkuaiyun.com/happynear/article/details/45372231


caffe出现 ImportError: No module named protobuf.internal 问题的讨论帖

https://groups.google.com/forum/#!topic/caffe-users/9Q10WkpCGxs

  

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值