概述
ECO配置GPU运行
win10+matlab2020a+vs2015+cuda10.0
运行GPU版本的ECO出现以下错误
发现是GPU配置MatConvNet问题,所以要在matlab配置一下MatConvNet用gpu运行
参考博客: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运行所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复