最后我的配置的win10, x64, vs 2013, caffe, cuda 7.5, cudnn v5.1,matlab2014b 安装成功。
1. 按照网上教程安装好几天,都出现不能加载libcaffe问题,最后发现是cuda版本问题,GitHub - microsoft/caffe: Caffe on both Linux and Windows ,这里了下载的CommonSettings.props内配置的cuda版本为7.5,而我安装的cuda 9.1。直接在下面文件改行不通,只能安装cuda7.5, cudnn v4 或v5
还有一种情况,即点击reload libcaffe
会报类似错误:The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 11.1.props" was not found.
解决办法:
将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\extras\visual_studio_integration\MSBuildExtensions所有文件拷贝到
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations
再次点击reloade即可,如下。
2. 如果编译生成libcaffe时,发生错误:项目libcaffe的NuGet 程序还原失败:操作超时。重新生成即可
最后我的配置的win10, x64, vs 2013, caffe, cuda 7.5, cudnn v5.1,matlab2014b 安装成功。
这里整理打包上传百度云,方面下载安装:链接:https://pan.baidu.com/s/1gbNqKgK5h_2pHH8Y0FexpQ 密码:yegl
分割线...........................
具体安装顺序
1. 首先安装vs2013
2. 安装matlab2014b
3. 安装cuda7.5和cudnn5.1
1) 双击cuda_7.5.18_win10.exe, 解压文件,得到安装包
2)解压成功后,会自动弹出安装界面,安装即可
3)解压cudnn,将cudnn文件中三个文件中的内容复制到对应的cuda路径下,即可。
4. 安装caffe
解压caffe-master
1)进入caffe-master\windows目录,复制文件CommonSettings.props.example,并将副本改名为CommonSettings.props
成为
2)用工具(比如notepad++)打开该文件,可以发现为什么之前需要安装cuda版本必须是7.5,如果是安装的是cuda11.1,则这里需要改成11.1,然后关闭文件
然后要根据显卡的算力,编译对应的版本,如果显卡是3080,算力是8.6,则如下设置。
3)修改caffe-master\include\caffe\util目录下cudnn.hpp文件setConvolutionDesc 函数内容。
template
inline void setConvolutionDesc(cudnnConvolutionDescriptor_t* conv,
cudnnTensorDescriptor_t bottom, cudnnFilterDescriptor_t filter,
int pad_h, int pad_w, int stride_h, int stride_w) {
#if CUDNN_VERSION_MIN(6, 0, 0)
CUDNN_CHECK(cudnnSetConvolution2dDescriptor(*conv,
pad_h, pad_w, stride_h, stride_w, 1, 1, CUDNN_CROSS_CORRELATION,
dataType::type));
#else
CUDNN_CHECK(cudnnSetConvolution2dDescriptor(*conv,
pad_h, pad_w, stride_h, stride_w, 1, 1, CUDNN_CROSS_CORRELATION));
#endif
}
4)也是在该目录caffe-master\windows,用vs打开Caffe
步骤:打开vs2013,文件》》打开》》项目/解决方案,进入目录caffe-master\windows,双击Caffe,结果生成解决方案:
可以看到libcaffe和test_all成功加载
4)配置libcaffe属性
选择编译类型为release,x64
关闭视警告为错误(即设置为否),然后点击应用,确定
5)配置CommonSettings.props文件,两个地方(可选项):
其他不要动,其中PythonDir是python的安装路径,MatlabDir是matlab的安装路径。
6)开始编译,先编译的是libcaffe,(其他的项目依赖于libcaffe项目),设置libcaffe为启动项,右键vs项目目录下libcaffe,选择生成,开始编译libcaffe ,如下,NuGet包,即从网络下载编译需要的各种依赖包 ,该包NugetPackages就在caffe-master同级目录下
等大概30分钟,成功编译,如果编译报超时错误,重新编译即可:
也有可能是直接报错:
NuGet Package restore failed for project libcaffe
这是nuget在线下载安装失败。
解决办法:离线下载好所有的package
这个文件写明了需要的package及其版本号
去nuget官网下载,比如下载第一个boost:NuGet Gallery | boost 1.78.0boosthttps://www.nuget.org/packages/boost/
全部下载好后,挨个离线安装,命令如下:
然后重新编译libcaffe
查看下,是否有16个文件夹:NugetPackages包下的工具(opecv2.4)
7)编译caffe
和上面一样,右击caffe, 生成,结果如下:
8)编译matcaffe,右击生成:
将编译好的matcaffe路径加到环境变量中,我的是:D:\Tool\caffe-master\Build\x64\Debug
再重启matlab,即可。
到此安装结束:
报错记录:
Skipping project matcaffe, Matlab support is not enabled in CommonSettings.props.
Skipping project matcaffe, Python support is not enabled in CommonSettings.props.
解决办法:设置CommonSettings.props,将下面两个都改为True
然后对应的python和matlab安装路径,也要需要修改,详见5)。
报错记录:
error MSB3073: 命令“"D:\Tool\ProtoCompile.cmd"
"D:\Tool\caffe-master\windows\" "D:\Tool\NugetPackages\protoc_x64.2.6.1\build\native\":VCEnd”已退出,代码为 9009。
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\
解决方法:不要修改CommonSettings.props里面关乎cudnn的行,因为之前我们已经把cudnn的文件复制到CUDA的目录里面。删除生成的文件夹NugetPackages,再次右击生成libcaffe
报错记录:
error C1083: 无法打开包括文件: “gpu/mxGPUArray.h”:
No such file or directory D:\Tool\caffe-master\matlab\+caffe\private\caffe_.cpp
解决办法:在 (MatlabDir)\extern\include 路径下建一个“gpu”文件夹然后把(MatlabDir)\toolbox\distcomp\gpu\extern\include\gpu下的mxGPUArray.h文件拷到所建gpu里即可。
报错记录:
error LNK1104: 无法打开文件“python27.lib” D:\Tool\caffe-master\windows\caffe\LINK
解决办法:因为我有两个pyhon共存,anaconda自带的是python36,window下更改默认的python版本,系统环境变量,移动到前面即可