matlab下配置matconvnet实现gpu运行深度学习网络

Matlab下配置matconvnet实现gpu运行深度学习网络

网上虽然有很多关于这个的介绍,但是看来看去每个人有每个人的实现方案,问题也有很多。
本文的方法是楼主亲测有效的,供参考。

**我电脑的配置:
matlab2017a, vs2015, cuda8.0, cudnn6

首先,第一步:
https://github.com/vlfeat/matconvnet下载matconvnet包。

然后,依次进行下面的步骤:

mex -setup
mex -setup C++  # 配置VS2015作为C和C++的编译器

# 先编译matconvnet的Cpu版
vl_compilenn()   % 生成一系列mex文件,是之后卷积v1_nnconv等要用到的

# 再编译matconvnet的Gpu版
# 必须要在对应的matconvnet文件夹下运行
# 将下载好的cudnn放在下载的matconvnet文件夹下。
# 注意:cudnn一定要和cuda版本对应,cuda要和matlab的版本对应,这些在网上都是可以找到的,不再赘述。

vl_compilenn('enableGpu', true, ...    
                'cudaRoot','C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0', ...   
                'cudaMethod', 'nvcc', 'enableCudnn', 'true', ...    
                'cudnnRoot', 'F:\matlab works\HCF\matconvnet\cudnn'); # 一定要加入cuda和cudnn两个选项,否则我的经验是运行时v1_simplenn会报错。

run vl_setupnn
vl_testnn('gpu',true) # 这不时间比较久,慢慢等。

你可能感兴趣的:(机器学习)