win7+matlab2016b+matconvnet+1-25beta+vs2015安装

1.      环境:

OS:WIN7

Matlab:2016b

VS:visualstudio 2015

Matconvnet:1.0-beta25

!!!这里特别强调一下各个软件的版本,官网有特别说明:


否则会报各种错误!!!


2.    安装所需环境

1)         上面所需环境,vs,matlab安装自己百度;

2)         下载matconvnet,下载地址:http://www.vlfeat.org/matconvnet/     (下载地址就是matconvnet官网,或者http://www.vlfeat.org/matconvnet/downloads可以下载matconvnet各个版本)

3)         解压matconvnet到matlab安装目录下。其实matconvnet可以放在任意位置,但是后面编译的时候可能要配置地址,避免安装不成功,就放在了matlab根目录下

win7+matlab2016b+matconvnet+1-25beta+vs2015安装_第1张图片

 

3.    编译matconvnet CPU版

1)         指定matlab的C++编译环境(这也就是上面为什么强调各个软件的版本问题)

命令行输入:>>mex-set C++

2)             matlab进入vl_compilenn.m所在目录,直接点击运行

win7+matlab2016b+matconvnet+1-25beta+vs2015安装_第2张图片

生成mex文件夹(那个cudnn64_5.dll是后面步骤才拷贝进去的,因为我是已经编译好的,所以可能跟你们的不太一样,不过按照步骤来就行)

win7+matlab2016b+matconvnet+1-25beta+vs2015安装_第3张图片

 

4.    编译matconvnet GPU版

1)         安装cuda和cudnn

因为我之前装caffe和TensorFlow的时候已经安装过粗大,并且也将cudnn库替换到cuda中了,所以cuda的安装你们就自己百度吧,网上一大堆,也不饿能什么都指望别人。

2)         重新复制cudnn到matconvnetroot/local/cudnn-5.1,虽然我之前安装cuda 的时候已经替换过cudnn库了,但是官网上和其他博客上说都要放到下面的文件夹中,因为matconvnet对cuda和cudnn较新的版本的支持还不是很好,支持的较好的cudnn v2-4,所以把cudnn放在以下文件夹下,避免和安装的cuda版本不兼容(官网原话是:MatConvNetsupports the NVIDIA cuDNN library for deep learning (and in particular their fastconvolution code). In order to use it, obtain the cuDNN library from NVIDIA (cuDNN v2 to v4 shouldwork; however, later version are strongly recommended as earlier version had a few bugs).Make sure that the CUDA toolkit matches the one in cuDNN (e.g. 6.5). This oftenmeans that the CUDA toolkit will not match the one used internally byMATLAB, such that the compilationmethod discussed above must be used.

win7+matlab2016b+matconvnet+1-25beta+vs2015安装_第4张图片

将cudnn64_4.dll文件拷贝到 ./matconvnet/Matlab/mex文件夹下(这一点很重要,否则vl_compilenn即使编译成功,运行时却会出现Invalid 的vl_nnconv.mexw64,可是你一看明明有这个文件啊,并且cpu编译时这个文件也是可以用的,为啥现在就不能了,就是你没有做第二步。)

3)

修改vl_compilenn.m相关内容如下:

opts.enableGpu      = true;%编译GPU版本

opts.enableCudnn    = true;%支持cudnn

opts.cudaMethod    = 'nvcc' ;%cuda编译

opts.cudaRoot       = '你安装的cuda路径' ;

opts.cudnnRoot     = 'local/cudnn-v5.1' ;

(我参考的博客说还要修改


供其查找CUDA路径。这说明他的matconvnet不是最新版本,最新版的beta25相应位置内容为:


我也不知道按照他说的修改行不行,你们自己试一试吧!)

点击运行编译,其实你也可以在matlab命令行直接输入命令,从而不需要修改以上的参数,命令:

>>vl_compilenn('enableGpu', true, 'cudaMethod', 'nvcc', 'cudaRoot', '/opt/local/cuda-V','enableCudnn',true,'cudnnRoot','local/cudnn-v')

 

!!!注意一定要先编译CPU版本,再编译GPU版本,否则直接编译GPU版本的话会报错:

win7+matlab2016b+matconvnet+1-25beta+vs2015安装_第5张图片

这个问题花了我很长时间,原因是应该是先编译CPU版本会生成MEX文件夹下面的文件,这些文件有作用!!!

注:编译的时候会报各种警告,不需要管它。

 

5.    测试

1)

2)


测试成功:

win7+matlab2016b+matconvnet+1-25beta+vs2015安装_第6张图片

6.    参考的安装教程

http://blog.csdn.net/zhjm07054115/article/details/49964597

 

http://www.th7.cn/system/win/201603/155182.shtml

 

http://www.vlfeat.org/matconvnet/install/

 


 

你可能感兴趣的:(深度学习,Matlab,MatConvNet)