感觉由于前期基础,做的还行,各种环境匹配,所以配置还是挺简单的。就是不知道后续代码看起来会不会难。运行速度到底咋样。
主要 参考了:
MatConvNet教程----- Win7下编译和配置详解
MatConvNet+Matlab2017a+CUDA8.0安装
win7+matlab2016b+matconvnet+1-25beta+vs2015安装
整体总结:
安装顺序:笔者推荐为matlab—visual studio—cuda,一般把cuda放在vs后安装,是因为如果cuda在vs之前安装,可能会导致vs安装之后新建项目里不会出现nvidia的项目。
1)其实就是注意好环境,安装就很简单了。
2)应该从github上找最新的版本,而不是从官网上下载。
3)一定要先编译CPU版本,再编译GPU版本,否则直接编译GPU版本的话会报错
4)并不支持所有的cudnn版本,要找到5.0或者5.1版本的cudnn才支持,不然会报错
5)
设置环境:
解压matconvnet到matlab安装目录下。其实matconvnet可以放在任意位置,但是后面编译的时候可能要配置地址,避免安装不成功,就放在了matlab根目录下:
配置CPU版本(必须要先编译cpu版本,然后再gpu才不会出错的):
运行mex -setup, 再提示信息中选择VS C++
在C:\Program Files\MATLAB\R2017b\matconvnet-1.0-beta25\matlab文件夹下,运行vl_compilenn.m
生成mex文件夹
可以测试下:
> vl_testnn
配置GPU版本:
修改C:\Program Files\MATLAB\R2017b\matconvnet-1.0-beta25\matlab\vl_compilenn
由于显卡为1080,所以改arch为61。加入cudnn。我电脑是win7 64,cuda8。实验很多次都无法配置cudnn,所以放弃了。
根据提示,在C:\Program Files\MATLAB\R2017b\matconvnet-1.0-beta25\matlab下新建local/cudnn,把cudnn全部拷贝进去
把cudnn**.dll拷贝到C:\Program Files\MATLAB\R2017b\matconvnet-1.0-beta25\matlab\mex
vl_compilenn(\'enableGpu\', true)
测试:
很多地方说要,但是我是直接运行cnn_cifar.m看结果的。
也可以运行>> vl_testnn(\'gpu\', true)
- 安装autonn
Extract the AutoNN files somewhere, then pull up a Matlab console and get confortable! The first step is to add MatConvNet to the path (with vl_setupnn
), as well as AutoNN (with setup_autonn
). Note that no compilation is required for AutoNN.
官网为上述操作。但是实际还是采用下面的操作,整体更整洁。
vl_contrib(\'install\', \'autonn\') ;
vl_contrib(\'setup\', \'autonn\') ;
vl_contrib(\'test\', \'autonn\') ; % optional
- 配置mcnExtraLayers
The module is easiest to install with the vl_contrib
package manager:
vl_contrib(\'install\', \'mcnExtraLayers\') ;
vl_contrib(\'setup\', \'mcnExtraLayers\') ;
vl_contrib(\'test\', \'mcnExtraLayers\') ; % optional
Matconvnet输出网络结构的语句
这个需要先安装GraphViz
net.print(\'Format\',\'dot\')