Matconvnet完全安装及踩坑实录

  • Post author:
  • Post category:其他


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)

在这里插入图片描述

测试成功!!



版权声明:本文为amyliu5200原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。