基本环境
建议严格按照版本来
- Windows 10
- Visual Studio 2013
- Matlab R2016b
- Anaconda
- CUDA 8.0.44
- cuDNN v4
1. 安装CUDA 8.0
安装完后,程序会自动地添加一个CUDA_PATH的环境变量:
2. 下载cuDNN
下载前需要在Developer网上注册一个号,简单填一填基本材料即可。
下完就是一个压缩包,也没办法安装的,压缩包里面有三个文件,分别是bin,include,lib,把它们解压,得到一个叫cuda的文件夹。
3. 从Microsoft的Github中下载Caffe的源码
注意了,一般来讲Windows配置Caffe是比较困难的,原因就在于caffe包不能去正常的官网下载,这个微软caffe真是给我们省了不少的麻烦,所以,强调一下,去这个链接下载Caffe源码的压缩包!
https://github.com/Microsoft/caffe
下载完后,解压文件,得到一个叫caffe-master的文件夹。
4. 安装Caffe
4.1 打开caffe-master文件夹,然后看到一个windows文件夹,然后继续打开windows文件夹,看到里面一个CommonSettings.props.example文件,复制出来一份,并改名字为CommonSettings.props。
4.2 用Visual Studio 2013打开windows文件夹下的Caffe.sln,检查解决方案中的项目,重点看libcaffe和test_all是否成功地被导入。
如果这两个没有成功导入,原因是Visual Studio 2013的安装路径中缺少CUDA 8.0.props(或者是你的版本号在CommonSettings.props写错了),我的是这个路径
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations
其实CUDA 8.0.props就在cuda的安装目录下,我的路径是
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\visual_studio_integration\MSBuildExtensions
只要拷贝到
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations
就行,那么libcaffe和testall就都没问题了!(以上解决方法属于引用,博主实际是导入了这两个项的。)
4.3 设置libcaffe为启动项目
方法是右键libcaffe,选择设为启动项目。
4.4 打开解决方案中的CommenSetting.probs,在CuDnnPath那里把存放解压的cudnn出来的文件夹cuda的目录路径放到其中去。(比如我这里是装在F:\Windows+Caffe下面)----------------这一步如果把CuDnn里cuda的文件已经放到Cuda安装目录下的话,就不要再添加路径了,否则最后会报错.
也就是说从cudnn-7.5-windows7-x64-v5.1-rc.zip解压出cuda文件夹,假设位置在F:\Windows+Caffe下,那么CuDnnPath设置为F:\Windows+Caffe。这是因为程序中会自动给你加上cuda,例如(CuDnnPath)\cuda\lib\x64;$(LibraryPath)。因此你需要做的就只是指定它的上级目录。
4.5 解决方案配置设为release
4.6 选择菜单中的DEBUG->libcaffe Properties...
此处需要修改两个地方,分别是配置属性中的常规和C/C++中的常规,如下图所示
另外,在cudnn.hpp文件里找到下面代码,加上版本控制,GUDA版本太高会导致很多错误.
template <typename Dtype>
inline void setConvolutionDesc(cudnnConvolutionDescriptor_t* conv,
cudnnTensorDescriptor_t bottom, cudnnFilterDescriptor_t filter,
int pad_h, int pad_w, int stride_h, int stride_w) {
//CUDNN_CHECK(cudnnSetConvolution2dDescriptor(*conv,
// pad_h, pad_w, stride_h, stride_w, 1, 1, CUDNN_CROSS_CORRELATION));
#if CUDNN_VERSION_MIN(6, 0, 0)//版本控制
CUDNN_CHECK(cudnnSetConvolution2dDescriptor(*conv,
pad_h, pad_w, stride_h, stride_w, , , CUDNN_CROSS_CORRELATION,
dataType<Dtype>::type));
#else
CUDNN_CHECK(cudnnSetConvolution2dDescriptor(*conv,
pad_h, pad_w, stride_h, stride_w, , , CUDNN_CROSS_CORRELATION));
#endif
}
4.7 开始编译
漫长的等待… … …
直到编译成功,lucky boy,我这儿跳出这个提示,暂时没有去理他,反正没有出错就先这样吧
4.8 查看战利品
caffe_master文件夹下应该生成了一个名为Build的文件夹,以后编译的成功和运行需要的文件都会存放在..\build\X64\Relase下面。
至此,说明’libcaffe’已经成功地编译完啦。
5. 编译caffe
在Visual Studio 2013的解决方案上面右击选择属性(properties)
可以看到原来的是单项目启动,编译libcaffe,那么现在我们选择编译caffe,也可以选择更多的任务来编译。
开始编译,漫长的等待… … …后,也就编译成功啦!可以去看看战利品。
Windows10下安装配置Caffe并支持GPU加速
本文用到的安装材料:百度网盘
原文是在windows7系统配置环境,matlab2016a,cuda是7.5.
我的差异;win10,matlab2016b,cuda8.0.结果是成功的