之前用的是2014版MATLAB,用CPU跑Matconvnet的数据,发现慢的要死。所以想配置GPU版本的环境。发现MATLAB2014+cuda8.0的配合并不完美,最终并没有完成GPU的版本的配置。查看了Matconvnet的代码后,好像数MATLAB2014+win7的版本只能使用CPU版的Matconvnet。无奈之下,安装了MATLAB2017,最后又配置了cuda9.0,成功安装GPU版本的Matconvnet。
(1)Matlab2017安装
(2)cuda9.0和cudnn安装
参照 https://blog.csdn.net/u011821462/article/details/50145221
https://blog.csdn.net/sinat_25434937/article/details/54023871
(3)Matconvnet配置
GPU编译
我想说,其实还是有点小麻烦的。首先下载cuda呗,默认安装。
增加cudnn
cudnn是专门针对深度学习的一个加速框架。
下载地址:http://pan.baidu.com/s/1bil9H8 或是从网上自己找吧。
然后做2件事:
1. 建一个local文件夹,然后把cudnn放进去,再复制到matconvnet目录下。
2. 把bin下的cudnn64_4.dll再复制到mex的文件夹下。这一点很重要,否则vl_compilenn即使编译成功,运行时却会出现Invalid 的vl_nnconv.mexw64,可是你一看明明有这个文件啊,并且cpu编译时这个文件也是可以用的,为啥现在就不能了,就是你没有做第二步。
先看看vl_compilenn写了啥
在vl_compilenn中已经对opts的enableGpu等属性进行了初始化。
这是稍微修改后的,这里改不改我这样的都无所谓的,这是因为,你看看下面有vl_argparse(opts,varargin),这个就是把外面的传入的参数再对opts进行赋值。
所以
编译:
vl_compilenn('enableGpu',true)
- 1
最后一步
找到cnn_cifar后,然后修改opts.gpus
参考了https://blog.csdn.net/hungryof/article/details/50788722