MatConvNet是实现深度学习中卷积神经网络(CNN)的MATLAB工具箱,拥有许多已经训练好的卷积神经网络实例及优化方法,可以用于图像分类、分割、人脸识别、文本检测等多个方面,matconvnet的运行版本有两种,cpu和gpu版
matlab R2016b
visualstudio 2015(VC14.0)
CUDA 8.0
cudnn 5.0
MatConvNet 1.0-beta25
windows (版本不限)
凡是和CUDA、 VC相关安装,都是有严格版本限制,版本不合适,立即报错
CUDA 8.0,cudnn 5.0 安装,请参考本人博客的 4.2.2节,点击此处
官网 MatConvNet 下载地址,点击此处
百度网盘 MatConvNet 下载地址,点击此处
提取码:azrw
需要二次解压,解压文件夹可以放在任意位置,凭个人喜好
解压文件,目录如图示:
在matlab中打开 MatConvNet 1.0-beta25,如图示:
配置的目的是: 将 MatConvNet 和 自己写的程序融合,使用
框架应为
在 matlab 命令行输入
% 这个命令是来寻找vs编译器的
mex -setup
%设置matlab的C++编译器,根据提示信息, 选择VS C++
mex -setup C++
结果如图
使用 mex -setup 命令的原因是,MatConvNet 文件中的matlab文件夹下的src文件里的.cu文件,所以需要链接c++编译器
在 matlab 命令行 输入
% cd 到解压 matconvnet 路径
cd E:\wj-lab\matconvnet-1.0-beta25.tar.gz\matconvnet-1.0-beta25\matconvnet-1.0-beta25
% 将matlab工作路径切换到matconvnet所在文件夹,添加搜索路径
addpath matlab
% 运行程序(该程序具体位置在matlab下),生成mex文件夹
vl_compilenn
vl_testnn
注意:一定要先编译CPU版本,再编译GPU版本,若直接编译GPU版本 会报错
打开环境变量
如果是默认的CUDA安装路径,添加的路径分别是下面这样的:
变量名:CUDA_PATH
路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
变量名:CUDA_PATH_V8_0
路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
变量名:CUDA_SDK_PATH
路径:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0
变量名:CUDA_LIB_PATH
路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
变量名:CUDA_BIN_PATH
路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
变量名:CUDA_SDK_BIN_PATH
路径:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64
变量名:CUDA_SDK_LIB_PATH
路径:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\common\lib\x64
变量名:MW_NVCC_PATH
路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.exe
具体参见你自己的环境变量,有无缺失以上路径,缺失的需要添加。
此步骤具体看个人
可能需要改,编译函数 function vl_compilenn.m
在 matlab 命令行输入
% cd 到解压 matconvnet 路径
cd E:\wj-lab\matconvnet-1.0-beta25.tar.gz\matconvnet-1.0-beta25\matconvnet-1.0-beta25
% 将matlab工作路径切换到matconvnet所在文件夹,添加搜索路径
addpath matlab
% 运行程序,该命令使得无需修改 3.2.2节 中参数,是直接在matlab命令行输入参数命令
vl_compilenn('enableGpu', true, ...
'cudaRoot', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0', ... % CUDA的安装路径
'cudaMethod', 'nvcc', 'enableCudnn', true, ...
'cudnnRoot', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0'); % cuDNN的路径
% 测试GPU版编译是否成功
vl_testnn('gpu', true)