caffe一般是在linux系统下安装,网上关于windows下安装教程教程,且每个教程都不是很全,我在这边总结一下流程及所有bug 的解决办法。
我是在win10+GTX1080+VS2013,matlab接口我是matlab2016a。
1.先安装visual studio 2013.这个没什么太大的难度,到网上下载安装就行
2.下载caffe.https://github.com/Microsoft/caffe,点击 Clone or download-> Download ZI
解压缩,打开到 caffe-master/caffe-master/windows 文件夹.
复制CommonSettings.props.example 文件,并把复制好的文件重命名为CommonSettings.props.
用 VS2013 打开 Caffe.sln 文件,点击右边的 CommonSettings.props,查看你的 cuDNN 支持的版本
3 . 安装 CUDA 和 cuDNN
打开 CUDA 下载地址,拉到下方点击 DOWNLOAD
选择 Windows-x86_64-10-exe,如果你的操作系统是别的版本,请在 Version 里进行选择
下载后点击运行,安装路径请选择默认路径
打开 cuDNN 下载地址,点击 Download,下载前需要先注册
注册完成后,下载 cuDNN v4 或者 cuDNN v5 (这取决于 CommonSettings.props 文件里标注支持的版本,建议选择 cuDNN v4 Library for Windows,虽然是for CUDA7.0)
4 . 编译前准备
打开到 caffe-master/caffe-master/windows 文件夹,用 VS2013 运行 Caffe.sln 文件
这里右边会显示libcaffe (加载失败),解决的步骤:
1) 打开 CUDA 安装路径中的MSbuildExtensions 文件夹,如果你在之前安装时选的是默认路径,那么它应当在 c 盘 / Program File/NVIDIA GPU CpmputingToolkit/CUDA/8.0/extras/visual_studio_integration 里
2) 拷贝MSbuildExtensions 文件夹中的所有文件,复制到 C 盘 / Program File(x86)/MSBuild/Microsoft.Cpp/v4.0(这里取决于你安装的版本)/V120/BuildCustomizations文件夹下,替换目标中的文件
3)点击 VS2013 里右边的CommonSettings.props 文件
第七行cpuonlybuild如果true就是cpu版本,false就是gpu版本,gpu版本下面第八行要使用cudnn改为true,cuda的版本改为我们的版本8.0,如图。
下面的Pythonsupport和matlabsupport就是选择支持哪些接口,这里我Python和matlab中都需要用到,两个都改为true。
第 24 行改为你的 cuDNN 的解压文件中 cuda 文件夹的路径
第53行改为你的matlab的安装文件夹位置,55行增加图中所示路径,
不然后面编译的时候回出现关于gpu的问题
在键盘上Control + S保存,关闭VS2013后重新打开Caffe.sln文件,这时libcaffe应当加载成功
5. 编译 Caffe
打开 Caffe.sln 文件,选择调试 -> caffe 属性
单击配置属性,上方的配置选为活动(Release),平台选为活动(x64)
然后点击本地调试开始编译,其中会自动下载 NuGet 程序包。
当然不过下载出问题,可以直接打开选项 -> 包管理器 -> 常规 -> 浏览,
手动把 NuGet 程序包复制进去,下载地址,密码 qfui
error LNK1104:无法打开文件“libcaffe.lib”
error C2220:警告被视为错误-没有生成“object”文件
解决方案是对libcaffe单独重新生成,并且对libcaffe属性中进行如下修改
编译过程中如果出现关于opencv的问题,双击错误语句,将关于opencv的部分注释掉,重新生成libcaffe应该就可以了。
这样应该可以编译成功,最后再点击生成-生成解决方案应该就可以生成成功了。
出现这个文件时就说明成功了。
6. 测试一下matlab和Python中是否可用caffe
将caffe文件目录下的matcaffe加入到matlab的路径中
caffe-mastercaffe-masterBuildx64Releasematcaffe,点击菜单中的设置路径,以后每次就直接可以在matlab中调用caffe库了。
并将release的路径添加到系统环境变量的path里面,重启电脑。
打开matlab,测试一下
说明matlab接口可以用了。
具体可以参考这两篇