首页 > 其他分享 >matlab进行深度学习MatCovNet

matlab进行深度学习MatCovNet

时间:2024-02-29 16:01:59浏览次数:30  
标签:res MatCovNet vl meta im matlab 深度 net

MatCovNet官网 http://www.vlfeat.org/matconvnet/

 

深度学习在object tracking中的使用也越来越多,从去年的VOT结果来看,很多tracker都应用了convolution feature,整体效果都比之前的方法提高了一大截,所以学习deep learning需要提上日程了。看了HCF以及C-COT的源码,都运用到了matlab的深度学习工具---MatConvNet,所以关于它的使用了解了一番。

1、首先是下载,可以到http://www.vlfeat.org/matconvnet/去下载,不过C-COT的作者Martin大神的源码的说明文档readme中也提供了github的下载链接

 

2、通过执行  mex -setup 来设置matlab的C++编译器(VS2010 or  greater)

 

3、将MatConvNet的path加到matlab路径中去

 

  1.   cd matconvnet-master
  2.   addpath matlab

 

 

4、需要Compile MatConvNet。

 

 

vl_compilenn

 

 


当然,最好是写一个文件,执行3.4步。

 

比如,CompileCPU.m

 

  1.   % Compiling for CPU
  2.   addpath matlab
  3.   vl_compilenn

 

 

如果想应用GPU计算,需要写成CompileGPU.m

 

 

  addpath matlab   vl_compilenn('enableGpu', true,...   'cudaRoot', '/Developer/NVIDIA/CUDA-6.5', ...%自己安装的CUDA的路径   'cudaMethod', 'nvcc', ...   'enableCudnn', true, ...   'cudnnRoot', 'local/cudnn-rc2') ;

 

 

这里需要注意,目前MatConvNet只支持英伟达的显卡,我看了一下我的台式机的显卡是intel的集成显卡,不能用,汗。所以,这里还是先介绍在CPU下进行处理的方式。

 

 

5、加载预训练的模型。

需要从官网下载一个network(也就是 a pre-trained CNN)

链接戳 http://www.vlfeat.org/matconvnet/pretrained/

 

6、setup MatConvNet。

 

run matlab/vl_setupnn

 


7、 load the pre-trained CNN。

 

 

net = load('D:\MenghanZhou\matlab_work\ToolsBoxes\networks\imagenet-vgg-m-2048.mat');

 

这里的net是一个预训练模型,是一个线性链组成的网络。它是一个结构体的形式:

 

其中,layers有21层(不同的预训练模型的卷积层数目不同)

      meta包含3个结构体

classes是已经训练好的模型对事物的1000种分类。

 

 

---------------------------我是分割线-----------------------------

来看一个例子,利用VGG已经训练好的模型对这张图片分类。

代码如下:

  %将pepper.png这张图按照模型,根据得分确定最应该属于的类别   run matlab/vl_setupnn   net = load('D:\MenghanZhou\matlab_work\ToolsBoxes\networks\imagenet-vgg-m-2048.mat');   im = imread('peppers.png');   im_ = single(im);   im_ = imresize(im_,net.meta.normalization.imageSize(1:2));%缩放到224*224大小   im_ = im_ - net.meta.normalization.averageImage;%减去均值   res = vl_simplenn(net,im_);%res包含了计算结果,以及中间层的输出 最后一层可以用来分类   y = res(end).x;%最后一层   x = gather(res(end).x);   score = squeeze(gather(res(end).x));%分属于每个类别的分数   [bestScore, best] = max(score);   figure(1);   clf;   imshow(im);   title(sprintf('%s %d,%.3f',net.meta.classes.description{best},best,bestScore));%net.meta.classes.description里存放的是很多种类别的名称  

标签:res,MatCovNet,vl,meta,im,matlab,深度,net
From: https://www.cnblogs.com/kn-zheng/p/18044488

相关文章

  • 基于最小二乘正弦拟合算法的信号校正matlab仿真,校正幅度,频率以及时钟误差,输出SNDR,
    1.算法运行效果图预览    2.算法运行软件版本matlab2022a 3.算法理论概述        在信号处理领域,正弦信号是一种常见且重要的信号形式。然而,在实际应用中,由于各种噪声和失真的影响,正弦信号的幅度、频率和相位可能会发生偏差。为了准确地恢复和分析这些信......
  • m基于深度学习的16QAM调制解调系统相位检测和补偿算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下: 2.算法涉及理论知识概要        随着通信技术的飞速发展,高阶调制格式如16QAM(16-QuadratureAmplitudeModulation,16进制正交幅度调制)在高速数据传输中得到了广泛应用。然而,由于信道失真、噪声干扰等因素,接收端往往面临相......
  • 深度学习-卷积神经网络-tensorflow的用法-49
    目录1.01_first_graph2.sessionrun3.global_variables_initializer4.InteractiveSession5.get_default_graph6.life_cicycle07linear_regression8.manual_gradient9.auto_diff12.softmax_regression13.convolution14.pooling1.01_first_graphimporttensorflowa......
  • 基于MATLAB深度学习工具箱的CNN卷积神经网络训练和测试
    一、理论基础    为了尽可能详细地介绍基于MATLAB深度学习工具箱的CNN卷积神经网络训练和测试,本文将按照以下内容进行说明:CNN卷积神经网络的基本原理深度学习工具箱的基本介绍CNN卷积神经网络训练的步骤和方法CNN卷积神经网络的优缺点1.CNN卷积神经网络的基本原理 ......
  • MatLab深度学习
    1.深度学习介绍公司官网有个很好的深度学习(DeepLearning)介绍文档。他们在视频中对深度学习的解释就是:DeepLearningisamachinelearningtechniquethatlearningfeaturesandtasksdirectlyfromdata.深度学习是机器学习的一种,从数据中直接学习特性和功能。深度学习......
  • Java 包和 API 深度解析:组织代码,避免命名冲突
    Java包和APIJava中的包用于将相关的类分组在一起。可以将其视为文件目录中的一个文件夹。我们使用包来避免名称冲突,并编写更易于维护的代码。包分为两类:内置包(来自JavaAPI的包)用户定义的包(创建自己的包)内置包JavaAPI是一个预先编写的类库,可以在Java开发环境中......
  • MATLAB深度学习工具箱的应用
    一、MATLAB深度学习工具箱    MATLAB深度学习工具箱是一个功能强大的工具包,用于构建、训练和部署深度学习模型。它提供了各种深度学习网络和算法,包括卷积神经网络、循环神经网络、自编码器、生成对抗网络等。    MATLAB深度学习工具箱还提供了许多有用的工具和函......
  • 随笔记录篇——原来高手都在numpy手写机器学习/深度学习模型
    一个无名小辈最近要开始在博客园留下自己学习的印迹了。最近在从0开始了解一些机器学习模型。原来,在数学建模的时候,调用一些库,用过一些机器学习的算法,自以为会了点机器学习的内容知识,实则是,实质什么也不懂,只会用封装好的库来实现。高手都是从0开始现推机器学习算法,numpy实现。......
  • 通过深度学习和人脸图像进行年龄段估计matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本MATLAB2022a  3.算法理论概述      随着计算机视觉和人工智能技术的快速发展,基于人脸图像的年龄估计成为了研究热点之一。通过深度学习和人脸图像分析技术,我们可以有效地从人脸图像中提取出年龄相关的特征,进而实......
  • 深度学习-卷积神经网络-keras的用法-48
    目录1.2.3.4.1.#模型各层之间是线性关系k层k+1层可以加上各种元素来构造神经网络#这些元素可以通过一个列表来制定然后作为参数传递给Sequential来生成模型fromkeras.modelsimportSequentialfromkeras.modelsimportModelfromkeras.layersimportDensefromke......