Matconvnet安装:win10+VS2015(pro)+Matlab 2017a+cuda8.0+cudnn 5.1

MatConvNet是Matlab上用于机器视觉的一个工具箱,简洁、高效,从名字就可以看出来它主要应用与CNN,不过其他网络也有涉及到。MatConvNet可以用于图片分类、分割和人脸识别等等深度学习的功能等。

在搭建环境的过程中,可能因为这样那样的原因遇到很多问题,其实只要版本匹配,安装步骤大体都差不多。下面是我成功安装的一个过程,这里记录以下:

从官网进行下载。官网安装步骤。

1、安装VS2015 pro版本,并且安装Matlab 2017a。要求这两个版本的原因是我下载的是matconvnet-1.0-beta25,编译过程中才发现这个工具箱要求用VS2015 professional进行编译。而我原来已有的环境是VS2013,Matlab 2017a和CUDA 7.5,反正就是各种工具不匹配,所以你可以在官网步骤上看到匹配的标准:

Matconvnet安装:win10+VS2015(pro)+Matlab 2017a+cuda8.0+cudnn 5.1_第1张图片

同时我们还要安装对应得cuda版本(可以在这个页面上下载),如果你的电脑是 NVIDIA的GPU,则还需下载cudnn,下面会具体讲述。

2、在官网下载好matconvnet工具箱之后,解压到所需安装的路径下。

3、并且下载cudnn(可以在这个页面上下载)并解压。分两步:第一步:在matconvnet目录下见一个local目录,并将你的cudnn放到你的local目录下。

 

Matconvnet安装:win10+VS2015(pro)+Matlab 2017a+cuda8.0+cudnn 5.1_第2张图片

第二步:将local/cudnn-8.0/bin目录下的cudnn64_5.dll文件拷到matlab/mex目录下。(注意:配置GPU+matconvnet+MATLAB前,要先按照它的步骤配置CPU+matconvnet+MATLAB 这样mex文件才会出现)

Matconvnet安装:win10+VS2015(pro)+Matlab 2017a+cuda8.0+cudnn 5.1_第3张图片

4、在我们的环境都配置好了之后,下一步我们开始编译matconvnet了。

第一步:使用mex -setup选择你的编译器。

Matconvnet安装:win10+VS2015(pro)+Matlab 2017a+cuda8.0+cudnn 5.1_第4张图片

 

(如果这一步正确,直接进入第二步)

我展示是一个正确的结果。而我当时装的时候并没有这么顺利,因为我装的时候,电脑里已经有VS2013了,后来版本需要,安装了一个VS2015,但是VS的路径设置却没那么简单,一直出现一个错误,在编译的时候会出现:(

 MatConvNet/matlab/src/bits/data.cu(20): fatal error C1083: 无法打开包括文件: “windows.h”: No such file or directory):

Matconvnet安装:win10+VS2015(pro)+Matlab 2017a+cuda8.0+cudnn 5.1_第5张图片

按照网上的方法,设置了matconvnet的配置属性(包括windows SDK路径的设置等等),但是这个问题一点都没改变,想着这个工具箱是很成熟的东西,应该不存在头文件包含顺序的错误,但是问题似乎没有一点进展。所以后来被迫重装系统了。重装系统之后,一切正常。再重装系统之前,其实我尝试过很多次了,将VS2015卸载重装了很多遍,依然没用。主要原因可能是VS卸载很难卸载干净(再网上下载了VS卸载工具,说是可以彻底卸载,好像也彻底卸载了,但是最后并没用),所以没有办法的办法就是重装系统。

对于没有我遇到过的情况的朋友,你还需要注意的一个问题是VS和Matlab的安装顺序,应该先安装VS,再安装Matlab,这个安装顺序不会有其他额外的问题出现。如果是先安装Matlab再安装VS的,还有应该问题要解决的就是你的注册表的问题,这个问题出现在选择编译器阶段,当你使用命令mex -setup出现问题时,你可以使用mex -setup -v查看是否找到了你的编译器(我展示的是正确的已经正确设置的):

Matconvnet安装:win10+VS2015(pro)+Matlab 2017a+cuda8.0+cudnn 5.1_第6张图片

没有的话,你可以参考http://blog.csdn.net/cztqwan/article/details/78902530进行注册表的配置。

第二步:一个不太会出错方法:在matconvnet文件夹下建立一个人compileGPU.m的文件,内容如下:

addpath matlab;  
  
%with cudnn  
vl_compilenn('enableGpu', true, ...  
                'cudaRoot', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0', ...  % CUDA的安装路径  
                'cudaMethod', 'nvcc', 'enableCudnn', 'true', ...  
                'cudnnRoot', 'local\cudnn-8.0');  % cuDNN的路径 

然后再运行compile GPU.m的文件,等出现以下命令行时就编译成功了。

Matconvnet安装:win10+VS2015(pro)+Matlab 2017a+cuda8.0+cudnn 5.1_第7张图片

5、成功之后,可以再命令行窗口输入vl_testnn('gpu',true)命令,测试以下GPU的性能。

 

 

 

你可能感兴趣的:(Matlab)