Matconvnet完全安装及踩坑实录

matconvnet安装

注意:版本要匹配,不匹配会出现各种各样的不可预见的错误:matlab2020b、VS2019、cuda10.1、cudnn7.6.0
下载matlab2020a: https://pan.baidu.com/s/1FieKSkX8nudFl4c1BZCfvQ 提取码:8888
先安装cuda,cuda和cudnn的版本要先去查阅matlab具体匹配的版本,不可以高了或低了,不然需要修改一堆的配置文件,很麻烦。
下载cuda: link
下载cudnn: link
在安装VS,安装2019以下的版本即可,2019,2017,2015都可以,社区版的就很OK。
下载VS2019社区版: https://pan.baidu.com/s/1sf7vYpLyUFkG5We5G69qlg 提取码:6666
安装步骤略,参加其他博客。

下载matconvnet: link
将下载下来的matconvent解压:

解压后的文件夹放入matlab安装路径下的toolbox文件夹,我的是G:\matlab\toolbox
从matlab软件打开matconvnet-1.0-beta25文件夹或者命令行输入cd G:\matlab\toolbox\matconvnet-1.0-beta25
在这里插入图片描述
将matconvnet-master文件夹及子文件夹添加到matlab的路径中
在这里插入图片描述
双击打开matconvnet-1.0-beta25\matlab\vl_compilenn.m
在这里插入图片描述

命令行输入mex -setup C++ 选择编译的软件

如果是只编译cpu版本,直接点击运行或是在命令行输入vl_compilenn都可以,
在这里插入图片描述
如果是编译gpu版本,则需在命令行输入

vl_compilenn('enableGpu',true,'cudaRoot','G:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1','cudaMethod' ,'nvcc','enableCudnn',true,'cudnnRoot','G:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1','verbose',1,'debug',true)

注意:括号内的第一个’G:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1’为你的cuda的安装路基,如果你是安装在C盘,或是你的cuda不是10.1,都要修改,第二个’G:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1’为cudnn的安装路径,也要和你的cudnn安装路径匹配。
开始编译vl_compilenn.m文件,在编译的过程中,不可避免会碰到各种错误,这时可以在刚才双击打开的vl_compilenn.m文件中加入断点,看是哪里出错了,将出错的地方一一修改即可。

踩坑记录

错误一:在这里插入图片描述
单击 (line_615)
在这里插入图片描述
在614行加入断点,可以看到是出现上述错误是英文nvcc_cmd在配置system函数时出错,导致status不能返回0报错;而检查nvcc_cmd的具体参数可以发现配置信息有误,文件夹不存在或名字不对。我这里是修改367行:
在这里插入图片描述
更改为
在这里插入图片描述
即将路径的文件夹由distcomp改为parallel。因为distcomp文件夹在新版的matlab中没有gpu\extern\include文件了,移到parallel文件夹了;

还有就是647行的cl_path要改成你自己的VS2019安装路径,不然会找不到VS2019,导致配置失败。
在这里插入图片描述
错误二:
在这里插入图片描述
解决办法:https://blog.csdn.net/u014292102/article/details/80331481
修改第359行和622行:
在这里插入图片描述
在这里插入图片描述
再编译,成功!!

测试:

vl_testnn('gpu', true)

在这里插入图片描述
测试成功!!

  • 14
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值