MatConvNet教程----- Win7下编译和配置详解



Windows7 下编译 MatConvNet 和 CUDA7.5 

安装环境: Win7 X64 ,  VS 2013,Matlab 2014Ra, CUDA 7.5.18, cudnn-v4.0 ,MatConvNet 1.0-beta16/or17

------------------也可只在CPU模式下编译,不需要CUDA GPU---------------------

转载请注明原地址:点击打开链接 http://write.blog.csdn.net/postedit/49964597

MatConvNet: CNNs for MATLAB

下载 ----- http://www.vlfeat.org/matconvnet/

 

1.安装MatConvNet 

   在下载页面找到‘Quick Start’, 将代码复制进matlab运行,即可自动下载并安装。

   自动安装时,程序包会被安装到Matlab/toolbox之中,不方便使用。

   最好是单独下载其ZIP包,解压后放在任意位置,运行程序的时候会通过vl_setupnn()自动添加路径到Matlab中。

   

    在examples文件夹下,可以找到相应数据集的卷积网络进行训练、或者使用。 

   经典模型都有,主要有Lenet、Alex、NiN、Vgg-face、VGG-F/S/M/VD、GoogleNet等CNN模型。

   而且,在训练之前,程序会自动下载数据集,CIFA-10,MNIST。但ImageNet数据太大需要手动下载。

       MatConvNet教程----- Win7下编译和配置详解_第1张图片

2.编译MatConvNet的CPU版本

         设置matlab的C++编译器,运行mex -setup,  再提示信息中选择VS C++;

       在安装根目录下找到 函数function vl_compilenn(varargin),直接运行,默认为即CPU模式下编译。

       最后显示“ MEX  成功!!”; 此时可以看到根目录下的mex文件夹下出现编译后的xxx.mex64文件。

       若不配置GPU,则配置就此结束!!!!! 可以到examples下进行试验~~~~~~~~

3.安装CUDA 7.5

       3.1 官网下载CUDA 7.5.18、 以及 CUDA_Quick_Start_Guide.pdf

       3.2 直接解压安装,其中的samples模块可安装在其他盘中,其余模块默认安装,方便MatConvNet按默认方式找              到CUDA 编译器‘nvcc’

       3.3 完成后打开 cuda samples 文件夹下 Samples_vs2013.sln 分别在DEBUG 和Release X64下进行完整编译。

      编译过程如提示找不到”d3dx9.h”、”d3dx10.h”、”d3dx11.h”头文件,则百度下载             DXSDK_Jun10.exe并安装。

              之后再重新编译。  (可参考 http://blog.sina.com.cn/s/blog_534497fd0102vbu3.html)

       3.4 全部编译成功之后,打开CUDA Samples 文件夹下的 bin/win64/release ,如下图。运行其中的小程序,即可 

              查看GPU CUDA信息。PASS 为通过。 %% 为节省空间可部分编译其中的子文件,如imageprocess部分

       3.5 安装cudnn-win64-v4.0/or-v3.0 

             直接解压到某文件夹下,将cudnn64_4.dll 文件拷贝到 ./matconvnet/Matlab/mex文件夹下即可。

     MatConvNet教程----- Win7下编译和配置详解_第2张图片

              MatConvNet教程----- Win7下编译和配置详解_第3张图片

              MatConvNet教程----- Win7下编译和配置详解_第4张图片

4.编译MatConvNet的GPU版本

     在CUDA安装完成之后,即可调用 nvcc编译器 编译MatConvNet的GPU版本。

     找到 function vl_compilenn(varargin) ,这是编译函数。

     设置GPU编译器: opts.enableGPU =true , opts.cudaMethod  = 'nvcc' ; %意思就是调用NVIDIA compiler→ nvcc

     注意:需要 将新的CUDA版本号‘7.5’添加到程序(即编译函数vl_complienn)中、供其查找CUDA路径。

      MatConvNet教程----- Win7下编译和配置详解_第5张图片MatConvNet教程----- Win7下编译和配置详解_第6张图片

   编译完成后,运行cnn_cifa.m文件,运行前将 opts.gpuDevice =[]  ,  设置为GPU index:1。即  opts.gpuDevice =1 ;       默认的[ ]为CPU模式下运行。 看到 如下输出信息,说明成功。

      MatConvNet教程----- Win7下编译和配置详解_第7张图片

      %%%------------补充------beta17版本编译-----------------------------------

      % 0.CPU编译,mex -setup; 选择VS C++; 直接运行vl_compilenn()
      % 1.安装CUDA v7.5
      % 2.安装cuDNN v3.0 or 4.0
      % 3.将CUDA版本号7.5添加到程序561行
      % 3.将cudnn_64_4.dll(v4.0)复制到/matlab/mex下
      % 4.运行编译 vl_compilenn('enableGpu',true,'cudaMethod', 'nvcc')
      % 5.运行测试 vl_testnn('gpu',true) 

4.i7-6700 和 GTX970 下的训练速度差别

   运行Cnn_Cifa.m,选择‘nin’网络,分别再CPU和GPU模式下运行。

   HZ为每秒处理图片数量。GTX970速度是 i7-6700的5~6倍。

   MatConvNet教程----- Win7下编译和配置详解_第8张图片  MatConvNet教程----- Win7下编译和配置详解_第9张图片

   

               

你可能感兴趣的:(深度学习-CNN)