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

原创 2015年11月21日 16:07:15



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

       

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) 

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

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

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

     

   

               

版权声明:本文为博主原创文章,未经博主允许不得转载。

深度学习(十二):Matconvnet小试牛刀与提特征

该节简单介绍一下如何使用Matconvnet的现有的模型进行图像分类实验以及提取图像对应层的特征。先来看看如何用训练好的imagenet网络模型进行图像的预测,英文版的官网教程就在这里:http://...
  • on2way
  • on2way
  • 2016年10月28日 19:20
  • 18225

Matconvnet学习笔记

Introduction to Matconvnet   MatConvNet是实现用于计算机视觉领域的卷积神经网络(CNN)的MATLAB工具箱。自从取得突破性工作以来,CNN在计算机视觉领域有一...

深度学习(十三):Matconvnet详解与实验手写体数据库

手写体数据库是一个简单通用的模型,这是进一步理解像imagenet的cnn模型的基础模型。关于手写体,输入的大小就是28*28的黑白二像素图像,比较简单,ok现在开始操作。Matconvnet自带集成...
  • on2way
  • on2way
  • 2016年10月28日 19:27
  • 10398

深度学习12:能力提升, 一步一步的介绍如何自己构建网络和训练,利用MatConvNet

深度学习12:能力提升, 一步一步的介绍如何自己构建网络和训练,利用MatConvNet...

深度学习(十四):详解Matconvnet使用imagenet模型训练自己的数据集

上节讨论过如何使一个简单的cnn网络训练mnist数据集,该节介绍复杂并且使用广泛的使用imagenet网络的预训练模型训练自己的数据集。Ok首先是自己的数据集了。Matconvnet中训练image...
  • on2way
  • on2way
  • 2016年10月28日 19:50
  • 15592

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

MatConvNet学习笔记

基础概述MatConvNet是VLFeat的一部分,是卷积神经网络(CNN)的一个实现。既可以使用matlab编程,又能使用GPU加速,是一个不错的CNN库。 MatConvNet 主页安装下载Ma...

Matconvnet 的安装以及使用

matconvnet是matlab上进行CNN的框架。本文介绍windows下如何安装以及使用它对pre-trained的网络进行finetuning. 这里以win10为例,cuda版本为7.5,c...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

推荐两个最新的Windows搭建MatConvNet的教程

经过不断改版,现在MatConvNet可以在Matlab里面直接编译了,除了CUDA Samples,需要直接打开并使用Visual Studio的部分已经木有了。需要注意的是版本问题。就是Matla...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MatConvNet教程----- Win7下编译和配置详解
举报原因:
原因补充:

(最多只允许输入30个字)