MatConvnet工具箱文档翻译理解(1)

2023-12-02 11:32

本文主要是介绍MatConvnet工具箱文档翻译理解(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述

MatConvNet是用于MATLAB的卷积神经网络(CNN)的实现。工具箱的设计注重简单性和灵活性。它将CNN的构建块暴露为易于使用的MATLAB函数,提供用于计算具有过滤器组的线性卷积,特征池化等的例程。以这种方式,MatConvNet允许新的CNN快速原型架构;同时,它支持CPU和GPU上的有效计算,允许在大型数据集(如ImageNet ILSVRC)上训练复杂模型。本文档概述了CNN及其在MatConvNet中的实现,并给出了工具箱中每个计算模块的技术细节。

**章节一MatConvNet简介**MatConvNet是一个实现卷积神经网络(CNN)的MATLAB工具箱,被应用于计算机视觉。 自从[7]的突破性工作以来,CNN已经在计算机视觉领域产生重要影响,特别是在图像理解上,基本上取代了传统的图像表示。例如在我们自己的VLFeat [11]开源库中实现的图像表示。

虽然大多数CNN是通过组合简单的线性和非线性滤波操作获得的,诸如卷积和整形,它们的却并非微不足道。原因是CNN需要从大量的数据,通常是数百万的图像中学习,需要非常有效的实现。 作为大多数CNN库,MatConvNet通过使用各种优化,主要是通过支持GPU上的计算来实现这一点。

存在许多其他机器学习,深度学习和CNN开源库。引用一些最流行的:像CudaConvNet,Torch,Theano,Caffe。 许多这些库得到很好的支持,有几十个积极的贡献者和大量的用户基础。 因此,为什么要创建另一个库?

开发MatConvNet的关键动机是为研究人员提供一个特别友好和有效的环境,以便在其研究中使用。MatConvNet通过其在MATLAB环境中的深度集成实现了这一点,MATLAB环境是计算机视觉研究以及许多其他领域中最受欢迎的开发环境之一。特别地,MatConvNet公开了简单的MATLAB命令CNN构建块,如卷积,归一化和合并(第4章); 这些可以组合和扩展以轻松创建CNN架构。虽然有许多这样的模块,使用用C ++和CUDA(第1.4节)编写优化的CPU和GPU实现,但是MATLAB本身支持GPU计算意味着通常可以在保持计算效率的同时在MATLAB中直接写入新的块。与使用低级语言编写新的CNN组件相比,这是一个重要的简化,可以显着加速测试新的想法的速度。使用MATLAB还提供了一个连接到其他领域的桥梁;例如,MatConvNet最近被亚利桑那大学用于行星科学,正如NVIDIA的博客文章中所总结的。

MatConvNet可以从数以百万计的图像学习大型CNN模型,如AlexNet [7]和非常深的网络[9]。这些强大模型中的几个的预训练版本可以从MatConvNet主页下载。虽然功能强大,MatConvNet仍易于使用和安装。 实现是完全独立的,只需要MATLAB和兼容的C ++编译器(使用GPU代码需要免费提供的CUDA DevKit和合适的NVIDIA GPU)。如图1.1所示和第1.1节,可以使用三个MATLAB命令下载,编译和安装MatConvNet。包括了几个完整功能的示例,演示如何可以学习小型和大型网络。重要的是,几个标准的预训练网络可以立即下载并在应用程序中使用。有一与工具箱一起保留了具有完整的工具箱技术描述的手册8。这些特性使MatConvNet在教育背景下非常有用。 
MatConvNet是根据BSD类似许可证的开放源代码。 它可以从http://www.vlfeat.org/matconvnet以及从GitHub.10下载。

1.1入门

MatConvNet易于安装和使用fig1.1提供了一个完整的例子,使用最新一代深卷积神经网络分类图像。 该示例包括下载MatConvNet,编译包,下载预训练的CNN模型,并在MATLAB的一个图像上评估该模型。

在这个例子中的key命令是vl_simplenn,一个用CNN网络和预处理图像im_的包装器作为输入,并且产生结果的结构res作为输出。 
该特定包装器可以用于对具有简单结构,即操作链的网络建模。 
检查vl_simplenn(在MatConvNet中编辑vl_simplenn)的代码,我们注意到包装器顺序地转换数据,应用由网络配置指定的一些MATLAB函数。这些功能,在第4章中详细讨论,称为“构建块”,并构成MatConvNet的骨干。

虽然大多数块实现简单操作,但他们效率使之不平凡(第1.4节),它们以及支持反向传播(第2.3节)以允许学习CNN。接下来,我们演示如何直接使用这样的构建块之一。 为了该示例考虑使用线性滤波器组对图像进行卷积。首先在MATLAB中读取图像,比如说使用 
im=single(imread('peppers.png')) 
得到H*W*D矩阵im,其中D = 3是图像中的颜色通道的数量。然后用 
f=randn(3,3,3,16,'single') 
来创建一个K = 16个随机字母大小为3 * 3的数组。 
最后,使用命令 
y = vl_nnconv(x,f,[]) 
将图像与过滤器卷积。 这将产生一个数组y带有K个通道,每个通道用于bank中的每一个。

虽然鼓励用户直接使用块来创建新的架构,但MATLAB提供了包装器,如用于标准CNN架构的vl_simplenn,如AlexNet [7]或Network-in-Network [8]。 此外,库提供了大量示例(在examples /子目录中),包括在MNIST,CIFAR和ImageNet数据集上学习各种模型的代码。 
所有这些示例使用examples / cnn_train训练代码,它是随机梯度下降的实现(第3.3节)。虽然这个训练代码是完全可维护的和相当灵活,它仍然在examples /子目录,因为它有点问题特定。 欢迎用户实施他们的优化器。

这篇关于MatConvnet工具箱文档翻译理解(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/445192

相关文章

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Python实现合并与拆分多个PDF文档中的指定页

《Python实现合并与拆分多个PDF文档中的指定页》这篇文章主要为大家详细介绍了如何使用Python实现将多个PDF文档中的指定页合并生成新的PDF以及拆分PDF,感兴趣的小伙伴可以参考一下... 安装所需要的库pip install PyPDF2 -i https://pypi.tuna.tsingh

Python批量调整Word文档中的字体、段落间距及格式

《Python批量调整Word文档中的字体、段落间距及格式》这篇文章主要为大家详细介绍了如何使用Python的docx库来批量处理Word文档,包括设置首行缩进、字体、字号、行间距、段落对齐方式等,需... 目录关键代码一级标题设置  正文设置完整代码运行结果最近关于批处理格式的问题我查了很多资料,但是都没

Python自动化Office文档处理全攻略

《Python自动化Office文档处理全攻略》在日常办公中,处理Word、Excel和PDF等Office文档是再常见不过的任务,手动操作这些文档不仅耗时耗力,还容易出错,幸运的是,Python提供... 目录一、自动化处理Word文档1. 安装python-docx库2. 读取Word文档内容3. 修改

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.