matconvnet的Matlab2019a + VS2017 + CUDA10配置(目标跟踪ECO-GPU配置)

相关滤波一些算法的matlab版本代码都用到了matconvnet,当然CPU也能跑,不过速度慢,gpu能快点儿,想要水论文实验,还是得配置好。matconvnet的cpu版本还好,gpu各种报错,关键这些错误按照网上的教程还不一定能行。这里记录一下我的配置过程和碰到的问题,给大家做个参考。简单说下安装步骤

一、环境

我的环境是是Matlab2019a,CUDA是10.1的版本,Cudnn是CUDA10对应的版本,C++编译器是VS2017,都算是比较新的版本了。
值得一提的是Matlab中的c++编译器有支持版本限制,这个在‘D:\Matlab2019\bin\win64\mexopts’中可以看到,2018和2019都不支持VS2019,(有没有其他补丁可以解决暂时不了解)所以最好用VS2017。

二、CPU版本

CPU版本一般都不会出现大的问题,设置好编译器器就可以了
mex -setup设置C++编译器为VS2017


下载最新版本的Matconvnet,这里以ECO代码为例,放在‘E:\tracking code\ECO-master\ECO-master\external_libs’
然后命令行

vl_compilenn;

直接编译即可,编译完成后‘matconvnet\matlab\mex’目录下会出现一些文件。
这里最常见的错误
在这里插入图片描述
参考知乎 https://zhuanlan.zhihu.com/p/57132601
网上教程有些说的是添加环境变量这类的,这个知乎里面说的也可以试试,我的做法是打开vl_compilenn.m,第656行
在这里插入图片描述
改成当前的cl.exe所在路径,在你的VS安装目录下。另外把这个路径添加到系统变量path中去。

三、GPU版本

GPU编译时一般会碰到一个著名的错误,
在这里插入图片描述(盗一下别人的图,一般都是这样,line615)
网上有两个解决方案,第一个是https://blog.csdn.net/youshaoduo/article/details/80791110,第二个是说在创建一个bin文件夹,参考https://blog.csdn.net/qq_42997572/article/details/98738449。不幸的是这两个我都试了,不适合我。我这里会提示一个错误信息nvcc fatal : ‘-DNEDBUG’: expected a number,网上的例子不知道是不是这样。这里我用的解决方案是参考,https://blog.csdn.net/CsdnWujinming/article/details/89221565。然后我们可以看下第615附近的内容,
在这里插入图片描述
实际上就是status状态为1,也就是系统命令出错了,在编译命令中为’Debug‘关键字参数加上’true’值,然后编译成功。

vl_compilenn('enableGpu', true,'Debug',true', ...
'cudaRoot','D:\CUDA\CUDA10', 'cudaMethod', 'nvcc', 'enableCudnn', true,...
 'cudnnRoot','D:\CUDA\CUDA10')

由于我的cudnn已将拷贝安装到CUDA中去了,所以这里cudnn的路径与CUDA是一致的。也可以单独创建一个local路径放cudnn。
另外一个错误是

错误使用 mex' 使用了 '-R2018a' 进行编译并与 '-R2017b' 链接在一起。 有关详细信息,请参阅 MEX 文件使用了一个 API 进行编译并与另一个 API 链接在一起。

这个比较简单,将359行中的内容改为
在这里插入图片描述
注意这里按照https://blog.csdn.net/u014292102/article/details/80331481的做法还要改一下620行,我用的是Matlab2019a,不需要如此,只用修改359行,请结合自己情况尝试。
编译完以后,不需要再运行ECO的install.m就可以运行demo了。
具体配置过程中还碰到了其他的小错误,不过按照网上的教程都能解决,这两个错误卡了我最久,分享一下做个参考,希望能有所帮助!

四、参考

https://blog.csdn.net/MIKASA3/article/details/90747182.
https://blog.csdn.net/qq_42997572/article/details/98738449.
https://blog.csdn.net/CsdnWujinming/article/details/89221565
https://blog.csdn.net/bailing910/article/details/79693620

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值