MatConvNet(GPU版本)的编译安装教程

        MatConvnet是MATLAB平台用于实现的卷积神经网络的工具箱。它支持CPU和GPU上的高效计算,允许在大型数据集上训练复杂模型。通过安装MatConvnet工具箱,可以为研究人员在Matlab平台上实现深度学习算法提供有效的支持。

       MatConvnet的编译需要相应的C/C++编译器,本文对MatConvnet的GPU版本的安装基于MATLAB R2017b、VS 2017 与 cuda 9.2。此步骤涉及到的软件版本自行灵活搭建。文章末尾提供已编译的MatConvNet(GPU版本)的下载链接。

1、MatConvnet的下载

百度云下载地址:matconvnet-1.0-beta25.tar

在matlab目录中创建名为matconvnet的文件夹,提取matconvnet-1.0-beta25.tar。我的目录为  D:\MATLAB\matconvnet\matconvnet-1.0-beta25

2、在Matlab控制台输入命令

  • mex -setup

  • mex -setup C++

  • cd 'D:\MATLAB\matconvnet\matconvnet-1.0-beta25'

  • addpath matlab

  • vl_compilenn('enableGpu', true, 'cudaMethod', 'nvcc', ...

    'cudaRoot', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2', ...

    'enableCudnn', true, 'cudnnRoot', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2')

 3、测试

控制台输入:vl_testnn

MatConvNet(GPU版本)的编译安装教程_第1张图片

出现上图的界面,说明安装成功。

4、编译过程出现的问题

问题(1):'cl.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件

解决方法:把C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.14.26428\bin

添加到系统环境变量。

问题(2):#error: -- unsupported Microsoft Visual Studio version! Only the versions 2012, 2013, 2015 and 2017 are supported!

 解决方法:打开文件路径 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include\crt 中的host_cofig.h文件,

将131行的#if _MSC_VER < 1600 || _MSC_VER > 1911,改为#if _MSC_VER < 1600 || _MSC_VER > 1920。数字比你版本高。

MatConvNet(GPU版本)的编译安装教程_第2张图片

问题(3):找不到相应的头文件,比如出现 fatal error C1083: 无法打开包括文件: “corecrt.h”: No such file or director

                    出错 vl_compilenn (line 487)

                               nvcc_compile(opts, srcs{i}, objfile, flags) ;

 解决方法:

应该是vs的配置问题。添加环境变量还存在着问题,比较便捷的方法,可以将相应的头文件从Windows Kits\10\Include\10.0.17134.0复制到如下目录:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.14.26428\include

问题(4):编译成功后运行代码的时候出现

尝试将 SCRIPT vl_nnconv 作为函数执行 ...

出错 vl_simplenn (line 300)

      res(i+1).x = vl_nnconv(res(i).x, l.weights{1}, l.weights{2}, ...

解决方法:

每次启动matlab软件运行程序之前,安装一下工具箱。运行\matconvnet-1.0-beta25\matlab\vl_setupnn.m 文件,即在控制台输入run vl_setupnn.m。

5、已编译的MatConvNet(GPU版本)下载

下载链接:matconvnet-1.0-beta25(GPU已编译)

MatConvNet(GPU版本)的编译安装教程_第3张图片MatConvNet(GPU版本)的编译安装教程_第4张图片

 

你可能感兴趣的:(Matlab,MatConvNet,GPU,教程)