caffe是C++语言写的,提供matlab接口和python接口,这两种语言就非常简单,而且非常容易进行可视化,使得学习更加快速,理解更加深入。配置python接口方式如下:
(1) 修改配置文件caffe-master\windows\CommonSettings.props的参数中第13、48行如下: <PythonSupport>true</PythonSupport>
<PythonDir>D:\Anaconda3\envs\python2.7\</PythonDir>
Caffe-Windows编译python接口基本上都是基于python27做的,用python3编译时会出现;
error LNK1104: 无法打开文件“python27.lib”
故若为Anaconda3 可以建一个python2.7的虚拟环境
(2) 打开caffe-master\windows\Caffe.sln,设置为x64 release,编译pycaffe
编译完成以后,会出现caffe-master\Build\x64\Release\pycaffe文件夹
将caffe文件夹复制到Anaconda3安装目录下D:\Anaconda3\envs\python2.7\Lib\site-packages
(3)在cmd里调用D:\Anaconda3\envs\python2.7\里的Python.exe 再import caffe
此时可能出现一些问题,大多说是说ImportError,如
ImportError: No module named google.protobuf.internal ----pip install protobuf
一般是因为缺少caffe-windows\python\requirements.txt文件中提到的包,此时可以进入D:\Anaconda3\envs\python2.7
下进行下载,再重新import即可!
同理,配置matlab接口:
(1) 修改配置文件caffe-master\windows\CommonSettings.props的参数中第16、53行如下: <MatlabSupport>true</MatlabSupport>
<MatlabDir>D:\Program Files (x86)\Matlab\R2014a</MatlabDir>
(2) 打开caffe-master\windows\Caffe.sln,设置为x64 release,编译matcaffe,可能会出现错误:
error C1083: 无法打开包括文件: “gpu/mxGPUArray.h”: No such file or directory
问题原因:matlab版本太高的缘故,(MatlabDir)\extern\include,此路径下不存在“gpu/mxGPUArray.h”,这个文件被移动到了 (MatlabDir)\toolbox\distcomp\gpu\extern\include 路径下。解决方案 :
修改CommonSettings.props配置第55行如下:
<IncludePath>$(MatlabDir)\extern\include;$(MatlabDir)\toolbox\distcomp\gpu\extern\include;$(IncludePath)</IncludePath>编译完成以后,会出现caffe-master\Build\x64\Release\matcaffe文件夹
(3) matlab路径设置
(4) 添加系统环境变量
“我的电脑”,选择属性,找到并打开“高级系统配置-系统属性-环境变量”按钮并点击。 添加系统环境变量,把..\caffe-master\Build\x64\Release 添加到系统环境变量中 ,注意环境变量修改后要重启系统才会有效。
否者在会出现如下错误:
Invalid MEX-file'D:\caffe-master\Build\x64\Release\matcaffe\+caffe\private\caffe_.mexw64': 找不到指定的模块。
简单测试一下
(5) 将caffe-master\Build\x64\Debug中所有dll文件全复制到caffe-master\matlab\+caffe\private
这样,caffe在windows下的matlab接口就配置成功了。
注意matlab 文件位置,在caffe-master\matlab\demo路径下运行
主要参考:
1.https://www.cnblogs.com/billyzh/p/6307716.html
2.https://blog.youkuaiyun.com/fuzhenqi/article/details/78204220
3.https://blog.youkuaiyun.com/lqp888888/article/details/78782208
4.https://blog.youkuaiyun.com/u011995719/article/details/53994570