我的机子Windows10,matlab2020a,VS2013旗舰版,不需要Cuda
Caffe:链接:https://pan.baidu.com/s/1iTKJnh2l81p7TnVms2qLoQ 提取码:uyra
VS2013旗舰版网址: http://download.microsoft.com/download/B/1/9/B1932B8C-1046-4773-A1DD-4AB5C0978637/vs2013.2_ult_chs.iso
R2020a:链接:https://pan.baidu.com/s/1R6-vaLBG84he9MeC_0tMOA 提取码:l6qp ,失效联系我要。
第一步:下载caffe-master,解压到任何地方都可以,在caffe-master\windows下找到CommonSettings.props.example,复制一份并重命名为CommonSettings.props,打开CommonSettings.props编辑,第一个红框true表示只使用cpu,第二个红框false表示不使用cuda,第三个红框表示不用python接口,第四个红框表示使用matlab接口
然后,找到19-29行,把27行的false改为true,按下图注释掉28行,不然后面会报错(坑1)
然后,找到52-56行,52行后面写true,53行填写自己matlab安装路径,54行不动
注意,我这里55行也不动,但是需要执行一个操作,就是把F:\software\R2020a\toolbox\parallel\gpu\extern\include\gpu下的mxGPUArray.h文件复制到F:\software\R2020a\extern\include\gpu文件夹下,这是为了防止出现无法打开包括文件: “gpu/mxGPUArray.h”的错误(坑2)
其他的都不要改,然后保存
第二步:使用VS2013打开E:\fusion\caffe-master\windows下的Caffe.sln
项目→属性→C/C++→常规→将警告视为错误 设置为否
生成-配置管理器把debug改成release
直接生成-重新生成解决方案
中间会遇到错误:
\NugetPackages\boost.1.59.0.0\lib\native\include\boost/format/alt_sstream_impl.hpp :
error C2220: 警告被视为错误 - 没有生成“object”文件 (..\..\src\caffe\util\math_functions.cpp)
双击这个错误,会弹出这个.cpp的文件,不用管,直接保存,再次 生成-重新生成解决方案。
第一次配置会显示正在还原nuget程序包,这个过程很慢,我大概等了40分钟,当时我在看《大秦赋》^_^,直接看了一集差不多还原好了,然后就会在caffe-master同级目录下生成一个NugetPackages的文件夹,里面是16个文件夹
完事解决方案生成成功会显示生成成功63个,失败0个,跳过0个
此时,E:\fusion\caffe-master目录下会多了一个Build的文件夹
找到E:\fusion\caffe-master\Build\x64\Release\matcaffe\+caffe\private,如果有下面这些东西,那你就离成功不远了
第三步:右击解决方案--属性--通用属性--启动项目--当前选定内容--保存
选中caffe,调试-开始执行,如果弹出下面内容,表示caffe安装成功
第四步:把caffe接入matlab
打开E:\fusion\caffe-master\Build\x64\Release,把E:\fusion\caffe-master\Build\x64\Release加入系统环境变量,此电脑-属性-高级系统设置-环境变量-系统变量-path
把E:\fusion\caffe-master\Build\x64\Release\matcaffe以及matcaffe下的子文件夹添加到matlab的路径中
重启matlab
在命令行执行caffe.reset_all()会显示Cleared 0 solvers and 0 stand-alone nets
注意,这里可能会显示未定义变量caffe.reset_all,我当时就是配置好上面所述一切,并重启matlab,卡在了这一步
重点来了,我重启了电脑,并以管理员运行matlab,再次执行 caffe.reset_all()
美好的结果出现了
大功告成!