因为我们的使用习惯(习惯windows,习惯vs),所以不得不折腾caffe for windows.简单说下几个版本的体验:
非常感谢他们的无私分享:
转载来源:http://blog.csdn.net/happynear/article/details/45372231
http://download.csdn.net/detail/yangkequn/8108035
https://github.com/niuzhiheng/caffe
1 首推happynear的版本,诚如作者所言,简单粗暴:
你需要做的是,第一步,准备工作
去github下载:https://github.com/happynear/caffe-windows,再去百度云下载作者亲手制作的第三方库:http://pan.baidu.com/s/1i390tZB,在源码的根目录下建立个3rdparty文件夹,把文件解压进去就可以了。
解压好之后,要将3rdparty/bin文件夹添加到环境变量的PATH中,名称:PATH,路径:../../3rdparty/bin,添加系统变量和用户变量,这样才能让程序找到这些第三方库的dll。
然后是Visual Studio 2013,如果你使用的是Visual Studio 2012,请从http://pan.baidu.com/s/1i3hGef7 下载第三方库和解决方案,但我并未测试过,如果遇到bug,请到github上报告给我。
最后是CUDA和MKL了,MKL是可选的,大家可以去Intel官方申请,如果不用cpu模式的话其实也无所谓,在第三方库包中我还提供了openblas的库文件。
我使用的是CUDA 7.0版,建议大家也安装这个版本。
ps:如果你没有NVIDIA显卡或者显卡比较老,请还是将CUDA安装上,然后在C/C++选项卡的预处理器定义中,将USE_CUDNN删除。3个项目都要删。同时,为了您的身心健康,请尽快购置显卡。
第二步,编译
编译非常简单,分为以下几步:
1、双击./src/caffe/proto/extract_proto.bat
批处理文件来生成caffe.pb.h
和caffe.pb.cc
两个c++文件,和caffe_pb2.py
这个python使用的文件。
2、打开./buildVS2013/MainBuilder.sln
,打开之后切换编译模式至Release X64模式。如果打开之后显示加载失败,可能你的CUDA版本和我的不一致,我的是CUDA 7.0版,这时就要用记事本打开./buildVS2013
目录下各个文件夹内的.vcxproj文件,搜索CUDA 7.0,把这个7.0换成你自己的CUDA版本,就可以正常打开了。
3、点上边工具栏中的绿色三角编译吧。编译大概需要半小时左右,请耐心等待。
如果要用matlab wrapper来提取特征、观察训练好的权重的话呢,只需要把matcaffe项目里面的matlab目录修改成你自己的,然后编译,你就能从matlab/+caffe/private文件夹里面找到一个叫caffe_.mexw64的文件啦。 我的matlab目录如下:点击属性-C++,编辑为:E:\MATLAB\X64\extern\include,确定-应用,再点击链接器-附加库目录-编辑-替换为E:\MATLAB\X64\extern\lib\win64\microsoft.然后编译matcaffe就可以生成caffe_.mexw64文件,编译成功.
python的wrapper类似,把pycaffe项目里的python目录改成你自己的(我用的是Anaconda),就能在python/caffe文件夹中生成_caffe.pyd的python dll文件。
三、测试
到 http://pan.baidu.com/s/1mgl9ndu 下载已经转换好的MNIST的leveldb数据文件,解压至./examples/mnist文件夹中,然后运行根目录下的run_mnist.bat即可开始训练,训练日志会保存在./log文件夹中,以INFO开头,txt格式的日志文件中。
ps:如果你编译成功的话,不要忘了给他的github工程点个star!
3 github上最早的windows版本:https://github.com/niuzhiheng/caffe.作者是NIU ZHIHENG所需环境:vs2012+cuda-6.5,不过已经很久没更新了.