在Windows下编译Caffe与其Python接口

来源:互联网 发布:爱奇艺 网络电影 数据 编辑:程序博客网 时间:2024/04/28 08:24

因为毕设的原因,最近一直在研究Caffe,按照网上自己搭建Caffe的教程无果后,最终参考了happynear与虾米ning的帖子,但是其中遗漏了一些细节。所以特意写一篇文章来记录自己搭建Caffe的过程。

我参考的两个帖子:

搭建Caffe参考happynear的帖子如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口

编译Python接口参考虾米ning的帖子在windows下编译caffe的python接口(CPU模式)

我的编译过程:

零:环境

电脑使用WIN10系统,64位,CPU是Intel集成显卡,没有GPU,所以Caffe使用的都是CPU模式。编译平台为VS2013,另外安装了Anaconda2.4(Python2.7)。

一:搭建Caffe

1.下载happynear的Caffe源码https://www.github.com/happynear/caffe-windows,第三方库3rdparty文件http://pan.baidu.com/s/1bSzvKa。

2.将3rdparty文件(bin,include,lib)解压至caffe-windows(假设Caffe源码解压后的文件夹名为caffe-windows)中的3rdparty文件夹中,并将3rdparty/bin文件夹所在路径添加到环境变量中,使程序可以找到这些第三方库

3.双击.src/caffe/proto/extract_proto.bat批处理文件来生成caffe.pb.hcaffe.pb.cc两个c++文件,和caffe_pb2.py这个Python使用的文件。

4.打开./build_cpu_only/Mainbuilder.sln,点击上方工具栏中的绿色三角编译。

二:测试Caffe

1.到http://pan.baidu.com/s/1mgl9ndu下载已经转换好的MINIST的leveldb文件,解压至./examples/mnist文件夹中。

2.将./examples/mnist/lenet_solver.prototxt文件中的最后一行solver_mode改为CPU。

3.运行caffe-windows目录下run_mnist.bat即可开始训练,训练日志会保存在./log文件夹中,以INFO开头。

三:编译Python接口

1.在Mainbuilder.sln中选择pycaffe项目,右键选择属性修改两个地方。

2.把C/C++的附加包含目录中python默认路径(默认是D:\Python27)修改为你自己Python所在的路径。我的Anaconda安装在D:\Anaconda2,所以将附加依赖项中的路径改为include与Lib在Anaconda2中的路径即可。

3.将链接-常规-附加库目录中libs的默认路径改为在Anaconda2中的路径。

4.右键选择pycaffe项目,点击build编译。编译成功会在caffe-windows\python\caffe中生成_caffe.pyd文件。

5.安装google的protobuf,直接在cmd中使用pip install protobuf安装。

6.将这个caffe文件夹复制到D:\Anaconda2\Lib\site-packages中,然后尝试使用import caffe。import可能会出现typeerror:__init__()got an unexpected keyword argument ‘syntax'这样的错误,解决的办法是在D:\Anaconda2\Lib\site-packages\caffe\proto中选择caffe_pb2.py文件,将文件中所有含有syntax的语句注释掉即可。


3 0
原创粉丝点击