1、VS2013的安装,网上百度很多
2、opencv2.4.9的配置见我以前写得文章
3、安装matlabr2014a 见我以前写的文章
4、VS2013和matlabr2014交叉编译问题,见我以前写的文章
5、安装cuda
6、开始caffe安装
参考网址:http://blog.csdn.net/happynear/article/details/45372231
(1)下载caffe
http://download.csdn.net/detail/sinat_25434937/9732587
或者这个地址https://github.com/happynear/caffe-windows
(2)下载第三方支持库
http://pan.baidu.com/s/1nvH7whz;
(3)在源码的根目录下建立个3rdparty文件夹,把文件解压进去就可以了。
解压好之后,要将3rdparty/bin文件夹添加到环境变量的PATH中,这样才能让程序找到这些第三方库的dll。
(4)编译
非常简单,分为以下几步:
a、双击./src/caffe/proto/extract_proto.bat
批处理文件来生成caffe.pb.h
和caffe.pb.cc
两个c++文件,和caffe_pb2.py
这个Python使用的文件。
b、打开./buildVS2013/MainBuilder.sln
,打开之后切换编译模式至Release X64模式。如果打开之后显示加载失败,可能你的CUDA版本和我的不一致,我的是CUDA 7.5版,这时就要用记事本打开./buildVS2013
目录下各个文件夹内的.vcxproj文件,搜索CUDA 7.5,把这个7.5换成你自己的CUDA版本,重新reload就可以正常打开了。打开各工程属性页,在 链接器-》输入-》附加依赖项 中添加 “libgflags.lib” 即可。
另外,如果你的显卡比较老或者没有显卡,请使用./build_cpu_only/MainBuilder.sln
。
c、点上边工具栏中的绿色三角编译吧。编译大概需要半小时左右,请耐心等待。
(5)编译遇到的问题
<1>【conv_layer.cu】 错误 78 error: too few arguments in function call;
2>caffe.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) void __cdecl google::SetUsageMessage(class std::basic_string,class std::allocator > const &)" (__imp_?SetUsageMessage@google@@YAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
2>caffe.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) void __cdecl google::SetVersionString(class std::basic_string,class std::allocator > const &)" (__imp_?SetVersionString@google@@YAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
2>caffe.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __cdecl google::FlagRegisterer::FlagRegisterer(char const *,char const *,char const *,char const *,void *,void *)" (__imp_??0FlagRegisterer@google@@QEAA@PEBD000PEAX1@Z)
2>common.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) unsigned int __cdecl google::ParseCommandLineFlags(int *,char * * *,bool)" (__imp_?ParseCommandLineFlags@google@@YAIPEAHPEAPEAPEAD_N@Z)
2>../../bin\caffe.exe : fatal error LNK1120: 5 个无法解析的外部命令
解决方法:
(1)下载新的动态链接库:http://pan.baidu.com/s/1nvH7whz;
(2)解压后,替换 3rdparty 文件夹中的 bin、lib、include文件夹;
(3)打开各工程属性页,在 链接器-》输入-》附加依赖项 中添加 “libgflags.lib” 即可。
7、编译matcaffe
用记事本打开F:\caffe-windows-master\buildVS2013\MSVCmex\matcaffe.vcxproj
修改matlab的地址D:\MATLAB\R2014a\extern\include
D:\MATLAB\R2014a\extern\lib\win64\microsoft
将这个文件中查找matlab,然后修改所有的目录到你的目录下,然后VS中重新reload matcaffe,然后build,你就可以在matlab/+caffe/private文件夹里面找到一个叫caffe_.mexw64的文件啦