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

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


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数据太大需要手动下载。

   


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文件夹下即可。

             

             

            


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路径。

     

     编译完成后,运行cnn_cifa.m文件,运行前将 opts.gpuDevice =[]  ,  设置为GPU index:1。即  opts.gpuDevice =1 ;      

     默认的[ ]为CPU模式下运行。 看到 如下输出信息,说明成功。

     

 %%%------------补充------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)复制到<MatConvNet>/matlab/mex下      

  % 4.运行编译 vl_compilenn('enableGpu',true,'cudaMethod', 'nvcc')      % 5.运行测试 vl_testnn('gpu',true) 


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

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

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

             





 收藏 (0)  打赏  点赞 (0)

jeffrey 9个月前

我按照您的教程运行cnn_cifar.m 报错,不知道怎么回事


(0) 回复

菜鸟后飞 回复 jeffrey 9个月前

训练阶段,卷积过程出错,未知的操作,dilate。。 这图上看不出来,你得点到 line 300 那里面去看.

(0) 回复

powerd by studyai.com 2017