概述
介绍
MatConvNet是一个实现卷积神经网络(CNN)的MATLAB工具箱,用于计算机视觉应用。 用这个工具箱,能很方便地在MATLAB中用GPU来进行训练。
要求
足够新的MATLAB版本(R2015b或更高版本)和一个支持C ++ 11的编译器(Visual Studio 2015,GCC 4.8,Xcode 7.3.1或更高版本)。 对于GPU计算,至少需要CUDA 7.5以及CuDNN v4(可选)或更新版本。
本次安装在如下实验环境中通过。
环境:
MATLAB2018a
Visual Studio 2015
matconvnet-1.0-beta25
安装
1.下载工具箱
首先下载MatConvNet,并解压到你希望的文件夹,暂且称这个文件夹为<MatConvNet>
2.编译库
1)CPU版本编译
- 打开MATLAB,在命令行输入
mex -setup
mex -setup C++
>>> mex -setup C++
MEX 配置为使用 ‘Microsoft Visual C++ 2015’ 以进行 C++ 语言编译。
警告: MATLAB C 和 Fortran API 已更改,现可支持
包含 2^32-1 个以上元素的 MATLAB 变量。您需要
更新代码以利用新的 API。
您可以在以下网址找到更多的相关信息:
https://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。
- 打开MATLAB,
cd
到你解压的那个matconvnet目录<MatConvNet>
,输入下面3行
cd F:hiudawnmatlabmatconvnet-1.0-beta25
addpath matlab
vl_compilenn
>>> vl_compilenn
警告: CL.EXE not found in PATH. Trying to guess out of mex setup.
> In vl_compilenn>check_clpath (line 650)
In vl_compilenn (line 426)
用于 x64 的 Microsoft (R) C/C++ 优化编译器 19.00.23026 版
版权所有(C) Microsoft Corporation。保留所有权利。用法: cl [ 选项… ] 文件名… [ /link 链接选项… ]
Location of cl.exe (C:Program Files (x86)Microsoft Visual Studio 14.0VC..VCbinamd64) successfully added to your PATH.
使用 ‘Microsoft Visual C++ 2015’ 编译。
MEX 已成功完成。
…
若干行一样的内容
…
使用 ‘Microsoft Visual C++ 2015 (C)’ 编译。
MEX 已成功完成。
到此CPU版本的就已经编译完成,在MATLAB命令行输入如下命令可以测试
vl_testnn
3)GPU版本编译
- 首先你的GPU运算能力要有2.0以上,之后CUDA版本要满足下表
MATLAB | CUDA toolkit |
---|---|
R2017a | 8.0 |
R2016b | 7.5 |
R2016a | 7.5 |
R2015b | 7.0 |
你要是不知道该用哪个版本CUDA,输入下面命令,有人会告诉你
gpuDevice
- 接下来,假设你只有唯一的CUDA且匹配你的MATLAB版本
直接运行如下命令
vl_compilenn('enableGpu', true)
- 如果你有很多CUDA,可以通过下面命令选择一个
vl_compilenn('enableGpu', true, 'cudaRoot', 'yourpath/NVIDIA/CUDA-n.0')
- 安装完试一下
vl_testnn('gpu', true)
如果可以就成功了
3)cuDNN support
上面其实已经可以暂时使用了,这里我没GPU没法继续安装。
3.开启你的MATLAB
输入:
run <MatConvNet>/matlab/vl_setupnn
测试CPU:
vl_testnn
测试GPU:
vl_testnn('gpu', true)
总结
安装不成功请自己参考官网
更新(Ubuntu安装)
本文在Ubuntu环境下也进行了设置,并配置了GPU,用Ubuntu的话,编译器要换成:
mex -setup c
mex -setup c++
其他内容大同小异,另外我这里出了一个奇怪的错误
Error using mex
/usr/bin/ld: cannot find -ljpeg
collect2: error: ld returned 1 exit status
Error in vl_compilenn>mex_link (line 528)
mex(mopts{:}) ;
Error in vl_compilenn (line 479)
mex_link(opts, objs, mex_dir, flags.mexlink) ;
最后
以上就是虚幻指甲油为你收集整理的MATLAB深度学习工具MatConvNet安装介绍要求安装总结更新(Ubuntu安装)的全部内容,希望文章能够帮你解决MATLAB深度学习工具MatConvNet安装介绍要求安装总结更新(Ubuntu安装)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复