我是靠谱客的博主 文艺橘子,最近开发中收集的这篇文章主要介绍GPU配置MatConvNet(ECO代码)ECO配置GPU运行,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

ECO配置GPU运行

win10+matlab2020a+vs2015+cuda10.0

运行GPU版本的ECO出现以下错误

发现是GPU配置MatConvNet问题,所以要在matlab配置一下MatConvNet用gpu运行
运行GPU版本的ECO出现以下错误
参考博客:https://blog.csdn.net/ms961516792/article/details/82762973
https://blog.csdn.net/youshaoduo/article/details/80791110
https://blog.csdn.net/fhcfhc1112/article/details/83547306
总结如下:在install.m文件30行改为下图所示运行,也可以改好之后直接在命令行运行这段代码,或者添加一个.m文件把代码复制进去运行.m文件

在这里插入图片描述
代码如下(需要电脑上安装CUDA和cudnn,CUDA就不说了一般电脑都有,路径参考我的换一下就ok,安装一下cudnn,按照上述博客复制到代码external_libs/matconvnet新建local文件夹下,将解压后三个文件夹下的.h文件都分别复制到cuda对应命名的文件夹下一份)

 vl_compilenn('enableGpu', true,'Debug',true',... 
                       'cudaRoot', 'C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0', ...%你安装的cuda地址
                       'cudaMethod', 'nvcc', ...
                       'enableCudnn', true, ...
                       'cudnnRoot', 'C:UsersAdminDesktopmatlab codeECO-masterexternal_libsmatconvnetlocalcuddn') %你安装的cudnn地址

在命令行运行
在这里插入图片描述

发现还是出错博客上一搜,说是配置MatConvNet经典错误,

错误使用 vl_compilenn>nvcc_compile (line 615)

错误使用 vl_compilenn>nvcc_compile (line 615)
Command "C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0binnvcc" -c -o "C:UsersAdminDesktopmatlabcode新建文件
夹ECO-masterexternal_libsmatconvnetmatlabmex.buildbitsdatamex.obj" "C:UsersAdminDesktopmatlabcode新建文件
夹ECO-masterexternal_libsmatconvnetmatlabsrcbitsdatamex.cu" -DENABLE_GPU -DENABLE_DOUBLE -DENABLE_CUDNN -I"localcuddninclude" -g -DDEBUG
-D_FORCE_INLINES --std=c++11 -I"C:Program FilesPolyspaceR2020aexterninclude" -I"C:Program FilesPolyspaceR2020atoolboxdistcompgpuexterninclude"
-gencode=arch=compute_70,code="sm_70,compute_70"  --compiler-options=/MD --compiler-bindir="C:softwareMicrosoft Visual Studio 14.0VC..VCbin"  failed.

出错 vl_compilenn (line 487)
      nvcc_compile(opts, srcs{i}, objfile, flags) ;

在这里插入图片描述
看了几十篇博客搞了好久都没解决这个问题,什么加’Debug’,true’,在vs/vc加bin或者加src,总之尝试了很多快放弃了,突然发现了一篇博客,说是这里的问题
在这里插入图片描述
(原话)
错误原因:Matlab R2019b的配置文件所在路径为:D:SoftwaresMATLABtoolboxparallelgpuexternsrcmexwin64;

mxGPUArray.h所在路径为:D:SoftwaresMATLABtoolboxparallelgpuexternincludegpu;

而编译vl_compilenn的默认路径为:D:SoftwaresMATLABtoolboxdistcompgpuexternsrcmexwin64;

解决方法:将vl_compilenn.m的第367行的distcomp改为parallel(vl_compilenn.m在matconvnetmatlab文件夹下)
在这里插入图片描述
原文链接:https://blog.csdn.net/qq_17783559/article/details/105474663
试了之后发现可以,终于解决了。

错误使用mex

然后就出现了如下图的错误,

错误使用 mex
'C:UsersAdminDesktopmatlabcodeECO-masterexternal_libsmatconvnetmatlabmexvl_nnconv.mexw64' 使用了 '-R2018a' 进行编译并
与 '-R2017b' 链接在一起。 有关详细信息,请参阅 MEX 文件使用了一个 API 进行编译并与另一个 API 链接在一起。
出错 vl_compilenn>mex_link (line 627)
mex(args{:}) ;
出错 vl_compilenn (line 500)
  mex_link(opts, objs, flags.mex_dir, flags) ;

在这里插入图片描述
参考如下博客:Matlab编译安装MatConvnet流程及问题解决里边的第5个错误,在vl_compilenn.m文件下以下图所示方式解决。
在这里插入图片描述
在这里插入图片描述
终于解决完毕啦:运行gpu版本成功!!!!
在这里插入图片描述
希望对大家有所帮助吧,调个代码有点费人。。。。

最后

以上就是文艺橘子为你收集整理的GPU配置MatConvNet(ECO代码)ECO配置GPU运行的全部内容,希望文章能够帮你解决GPU配置MatConvNet(ECO代码)ECO配置GPU运行所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部