美文网首页
2019-03-20 matconvnet-gpu 工作日志

2019-03-20 matconvnet-gpu 工作日志

作者: whisper330 | 来源:发表于2019-03-21 10:39 被阅读0次

这次是要用MCCT来测试matconvnet-GPU是否能运行成功。

runTracker的时候编译出现以下问题:nvcc fatal:‘-DNDEBUG’:except a number,错误使用vl_compilenn>nvcc compile

按照这个博客(https://blog.csdn.net/u012655176/article/details/72783042)上面改了一下matconvnet 里面的文件夹 ,但是还是编译不成功。

这个问题在我将cuda10.1改成cuda9.2就没有了。卸载详见下一篇文章。

PS:环境配置部分有很多坑,版本不匹配会导致各种意想不到的问题。这里有官方搭配。

目前我的配置是Visual Studio 2015pro+cuda9.2+cuDNNv7.5.1+Anaconda3 5.2.0+Matlab2018a+Pytorch 1.0.1,matlab的版本要比vs的高。目前运行都很稳定,仅供参考。

------------------------------------分割线-------------------------------------------------------

2019.5.14 运行MFT,又需要编译matconvnet的gpu版本,在此做一个详细的记录。

参考链接:

1.windows下编译Matconvnet的方法(CPU和GPU) - Hungryof的专栏 - CSDN博客

步骤:

1.在matconvnet文件夹里新建一个local的文件夹,把下载的cudnn放进去

2.将local/bin里面的cudnn64_7.dll复制到matlab/mex里面

3.在命令行输入

vl_compilenn('enableGpu',true,'cudaRoot','C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2','cudaMethod','nvcc','enableCudnn','true','cudnnRoot','local')

说明:vl_compilenn('enableGpu',true,'cudaRoot','cuda的地址,v9.2是cuda版本号','cudaMethod','nvcc','enableCudnn','true','cudnnRoot','cudnn的地址')

运行之后是这样:

出现的问题以及解决办法:

1.错误使用mex:使用‘-R2018a’进行编译并于‘-R2017b’链接在一起(我发誓我没有😭)

解决方案:将vl_compile.m文件的 line 620改成

args = horzcat({'-outdir', mex_dir}, ...

flags.base, flags.mexlink, ...

'-R2018a',...

{['LDFLAGS=$LDFLAGS ' strjoin(flags.mexlink_ldflags)]}, ...

{['LDOPTIMFLAGS=$LDOPTIMFLAGS ' strjoin(flags.mexlink_ldoptimflags)]}, ...

{['LINKLIBS=' strjoin(flags.mexlink_linklibs) ' $LINKLIBS']}, ...

objs) ;

将line359改成:flags.mexlink = {'-lmwblas'};

2.运行之后出现新的问题:|| 和 && 运算符的操作数必须能够转换为逻辑标量值

解决方案:

查看出错语句,opts.enableCudnn='true',strcmp(arch, 'win64')=1,但是true不是逻辑标量值,所以出错。所以在前面加了几句这个(如果你有更改好的方法可以留言)

if opts.enableCudnn

    opts.enableCudnn=1;

end

然后编译成功。

3.CL.EXE不是内部命令或外部命令,也不是可运行的程序

找到cl.exe的地址,然后将check_clpath那里的地址改一改。

详细解决方案,点击即可了解

PS:以上是我这次编译Matconvnet-GPU出现的问题,这一篇里面有上一次配置MCCT(GPU)出现的问题以及解决方法。如果你出现了这篇没有的问题,可查阅那一篇文章。

相关文章

网友评论

      本文标题:2019-03-20 matconvnet-gpu 工作日志

      本文链接:https://www.haomeiwen.com/subject/ftltvqtx.html