注:本贴仅为经验帖,问题都是参考一些网址来解决的,写该帖只是为了记录自己的解决过程。
cuda安装参考网址: https://wenku.baidu.com/view/ef375d8587c24028905fc377.html点击打开链接
caffe编译参考网址:http://blog.csdn.net/sunqiande88/article/details/62040897点击打开链接
cuda7.5和matlab2014a之间本来接口已经做好,但不知什么原因,后来matlab调用gpu时出现错误:
gpuDevice
ans =
CUDADevice (带属性):
Name: 'GeForce GTX 960'
Index: 1
ComputeCapability: '5.2'
SupportsDouble: 1
DriverVersion: 7.5000
ToolkitVersion: 5.5000
MaxThreadsPerBlock: 1024
MaxShmemPerBlock: 49152
MaxThreadBlockSize: [1024 1024 64]
MaxGridSize: [2.1475e+09 65535 65535]
SIMDWidth: 32
TotalMemory: 4.2950e+09
FreeMemory: NaN
MultiprocessorCount: 8
ClockRateKHz: 1266000
ComputeMode: 'Default'
GPUOverlapsTransfers: 1
KernelExecutionTimeout: 1
CanMapHostMemory: 1
DeviceSupported: 1
DeviceSelected: 0
查询好多网站均未找到原因,有一个网站说是装matlab2015a的版本就可以了,本来是想从头再来,装matlab2017a+cuda8.0的版本的,但是后来装过cuda8.0,2014a的版本忽然可以调用gpu了,此时cuda为8.0的版本,并且matconvnet可以调用GPU版本。
然后编译R2017a版本,matconvnet的CPU和GPU版本均编译成功。(难道是之前误装了8.0,后面装7.5的时候一些子文件说:存在相同或更新的版本,故没有再装,然后这些子文件的版本和7.5的可能不适配??我是外行的,这些原因猜不出来,只是猜测。后来装的8.0和这些刚好适配。)
在cuda7.5时,由于cuda重装等各种情况,导致caffe编译一直出现问题,然后查询未果,后改在cuda8.0下编译caffe,cudnn版本为v6.0,遇到下述问题:
错误 1error MSB4062: The "NuGetPackageOverlay" task could not be loaded from the assembly D:\caffe\NugetPackages\OpenCV.2.4.10\build\native\/private\coapp.NuGetNativeMSBuildTasks.dll. 未能加载文件或程序集“file:///D:\caffe\NugetPackages\OpenCV.2.4.10\build\native\private\coapp.NuGetNativeMSBuildTasks.dll”或它的某一个依赖项。该模块应包含一个程序集清单。 Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.D:\caffe\NugetPackages\OpenCV.2.4.10\build\native\OpenCV.targets772
解决方案:
参考网址:http://blog.csdn.net/louzhengzhai/article/details/73180178点击打开链接 更改后仍然有问题,故考虑可能是cuDNN版本不对,这时的版本为v6.0,如图所示,把cudnn更换为v5.1版本
然后还会一直出现上述错误,参考网址:http://blog.csdn.net/u013277656/article/details/75040459点击打开链接
将所有项目中的OpenCV.2.4.10变为OpenCV.2.4.11,最终解决(记得设置:警告不视为错误哦!!!)。
搞了一整天,真心心累。
终于功夫不负有心人啊。matlabR2014a版本和cuda8.0+caffe接口配置成功