旷视 ShuffleNetV2

news2024/9/25 11:13:26

目录

前言 

一、ShuffleNetV2带来的创新点四条轻量化网络设计原则

1.1 准则一:相同的输入输出通道数能够减少内存访问成本(MAC)

1.2 准则二: 过多的分组卷积会增加 MAC

 1.3 准则三: 网络的碎片化程度会减少并行化程度(碎片化操作对并行加速不友好)

1.4 准则四: 逐元素操作带来的内存和耗时是不可忽略的(不能忽略元素级操作)

二、ShuffleNetV2网络结构

2.1 ShuffleNetV2 Unit 

2.2 ShuffleNetV2网络结构

三、ShuffleNetV2 模型性能


前言 

2018年发表在ECCV上的论文

预备知识:机器学习、深度学习、计算机视觉
卷积神经网络概述
https://www.bilibili.com/video/BV1sb411P7pO
https://www.bilibili.com/video/BV1gb411P7JD
卷积神经网络精讲
https://www.bilibili.com/video/BV1K7411W7So?p=5
https://www.bilibili.com/video/BV1K7411W7So?p=6
经典卷积神经网络结构
https://www.bilibili.com/video/BV1K7411W7So?p=11
谷歌轻量化卷积神经网络MobileNet V1、MobileNet V2
https://www.bilibili.com/video/BV16b4y117XH
https://www.bilibili.com/video/BV1AL411G77N
旷视轻量化卷积神经网络ShuffleNet V1
https://www.bilibili.com/video/BV1dO4y1m7oY 

一、ShuffleNetV2带来的创新点四条轻量化网络设计原则

下图中四个饼图反映了不同的轻量化模型在不同的硬件平台上它们计算开销的分布。

      Ma 等人[12]发现,FLOPs 作为一个间接的指标,只能大致地估测运行速度,与速度并不完全相符。主要原因有两方面:一是很多操作无法被算入 FLOPs 中,例如内存访问成本(memory access cost,简称 MAC)、并行化程度等; 二是受到计算平台的影响。
      Ma 等人[12]提出了 4 种轻量级网络的指导方案:
(1) 相同的输入输出通道数能够减少内存访问成本(MAC);
(2) 过多的分组卷积会增加 MAC;
(3) 网络的碎片化程度会减少并行化程度;
(4) 不能忽略元素级操作。

1.1 准则一:相同的输入输出通道数能够减少内存访问成本(MAC)

     1×1卷积是在整个轻量化网络中计算量最大、参数量最多的部分,下图给出了在MobileNetV1论文中各层计算量和参数量的分布。

MobileNetV1 计算量和参数量分布

Input经过1×1卷积后得到Output这一过程中,FLOPs以及MAC计算如下所示:

在相同的输入输出通道数时内存访问成本(MAC)最少,证明如下:

实验如下: 
实验表明输入输出通道比为1:1时,模型推理是最快的。

准则一的验证实验

1.2 准则二: 过多的分组卷积会增加 MAC

准则二的理论证明:

准则二的验证实验 

准则二的验证实验

 

 1.3 准则三: 网络的碎片化程度会减少并行化程度(碎片化操作对并行加速不友好)

准则三的验证实验如下: 

譬如:InceptionV4 

譬如:NasNet  

 

1.4 准则四: 逐元素操作带来的内存和耗时是不可忽略的(不能忽略元素级操作)

二、ShuffleNetV2网络结构

2.1 ShuffleNetV2 Unit 

 根据1.1~1.4提及的轻量化网络设计准则,Ma等人设计出了ShuffleNetV2网络的基本单元。

(a) ShuffleNetV1基本模块
(b) ShuffleNetV1下采样模块
(c) ShuffleNetV2基本模块
(d) ShuffleNetV2下采样模块
基本模块中,长宽不变,通道数不变;下采样模块中,长宽减半,通道数加倍

 

2.2 ShuffleNetV2网络结构

来源:densenet论文
来源ShuffleNetV2论文

 

三、ShuffleNetV2 模型性能

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用计算器学习float、输入输出函数的格式化

上一篇介绍了C语言的一部分基础知识,今天我们来继续深入一点讲。 引入浮点数——float 做一个加减法计算器显然不能满足其他计算需求,比如我们生活中的东西并不总是用整数来衡量。我们有五毛钱,有半杯水,有随时都在变的速度&…

大模型面试百问百答

大家好,这里是 大模型八哥。今天分享大模型面试相关知识点,持续更新。 1. RAG技术体系的总体思路 数据预处理->分块(这一步骤很关键,有时候也决定了模型的效果)->文本向量化->query向量化->向量检索->重…

钰泰-ETA6964A 锂电池充电器IC

描述. ETA6964A 是一款高度集成的 3A 开关模式电池充电管理和系统电源路径管理器件,适用于单节锂离子和锂聚合物电池。它具有快速充电功能,支持高输入电压,适用于各种智能手机、平板电脑和便携式设备。其低阻抗电源路径优化了开关模式的运行…

第六次人口普查,人口前100姓氏

第六次人口普查中,人口前100的姓氏具体排名和分布情况如下: 人口前10的姓氏 李:约占全国汉族人口的7.94%,是人口最多的姓氏。 王:约占汉族人口的7.41%,仅次于李姓。 张:约占全国汉族人口总数的7…

视频汇聚/视频存储/安防视频监控EasyCVR平台RTMP推流显示离线是什么原因?

视频汇聚/视频存储/安防视频监控EasyCVR视频汇聚平台兼容性强、支持灵活拓展,平台可提供视频远程监控、录像、存储与回放、视频转码、视频快照、告警、云台控制、语音对讲、平台级联等视频能力。 EasyCVR安防监控视频综合管理平台采用先进的网络传输技术&#xff0…

Goland的使用

一、安装Goland 一、Goland简介 Goland是由JetBrains公司旨在为go开发者提供的一个符合人体工程学的新的商业IDE。这个IDE整合了IntelliJ平台的有关go语言的编码辅助功能和工具集成特点 二、下载相应的安装包 1、官网下载地址 GoLand by JetBrains: More than just a Go IDE 三…

网络编程,端口号,网络字节序,udp

前面一篇我们讲了网络的基础,网络协议栈是什么样的,数据如何流动传输的;接下来这篇,我们将进行实践操作,真正的让数据跨网络进行传输; 1.网络编程储备知识 1.1 初步认识网络编程 首先我们需要知道我们的…

Facebook对现代社交互动的影响

自2004年成立以来,Facebook已经成为全球最大的社交媒体平台之一,改变了人们的交流方式和社交互动模式。作为一个数字平台,Facebook不仅为用户提供了分享生活点滴的空间,也深刻影响了现代社交互动的各个方面。本文将探讨Facebook如…

Ollama在Windows安装,使用,简单调用API

一、安装ollama 1、安装 在Windows本地安装ollama,官方网页:https://ollama.com/download/windows 下载完安装包,安装就好,默认应该是C盘。应该是没办法改,如果有小伙伴能改,也请告知一下。 2、验证安装…

华为OD机试 - 数据单元的变量替换 - 分治、递归(Python/JS/C/C++ 2024 E卷 200分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

基于yolov8+deepsort+gradio实现目标追踪演示

【效果展示】 【测试环境】 ultralytics8.2.95 gradio4.26.0 torch1.9.0cu111 理论上支持最新ultralytics版本 【实现部分代码】 with gr.Blocks() as demo:with gr.Tab("追踪"):# 使用Markdown显示文本信息,介绍界面的功能gr.Markdown(""…

linux固定串口别名

最近项目功能要求,需要将插入设备的串口设备占用的端口号固定住,这里记录一下设置过程方便以后查阅。 linux固定串口别名 配置过程相关补充 配置过程 列出当前插入USB端口的设备: lsusb查看当前设备的端口号: ls dev/查看当前设…

无人机飞手培训及巡检、吊运等飞行服务一体化技术详解

在无人机行业日益兴起的背景下,培养专业、合格的无人机飞手成为首要任务。飞手培训基础涵盖理论学习与安全意识建立两大方面。理论学习包括无人机基础知识(如无人机类型、结构、原理)、航空法规(如民用无人驾驶航空器实名制登记管…

旧衣回收小程序搭建,开发功能优势

随着人们生活水平、消费水平的提高,在日常生活中产生了大量的限制物品,为了减少浪费,越来越多的人开始重视环保回收。旧衣物作为一种新型的回收方式,也逐渐得到了大众的关注,旧衣物回收市场发展规模也在持续上升&#…

Certbot自动申请并续期https证书

Certbot自动申请并续期https证书 一、 安装 Certbot:使用命令安装 Certbot: dnf install certbot python3-certbot-nginx获取 SSL 证书:运行 Certbot 命令来获取并安装 SSL 证书。 示例命令,替换其中的域名和路径信息&#xff1a…

PHP API 框架:构建高效API的利器【电商API接口】

在当今快速发展的互联网时代,API(应用程序编程接口)已成为连接不同应用程序和服务的关键。PHP,作为一种流行的服务器端脚本语言,提供了多种强大的框架来简化API的开发。本文将介绍PHP API框架的重要性,以及…

java并发编程笔记 之 线程和进程

文章目录 前言线程线程优先级和时间片创建多线程及运行线程的状态 进程查看进程的命令进程的通信方式 线程和进程的区别从关系上疑问集锦 前言 并发 1、并发是指在同一时间段内,计算机系统能够处理多个任务的能力。 2、在并发编程中,我们可以理解为多个…

chapter17-多线程基础——(自定义泛型)——day20

580-程序进程线程 581-并发并行 并发和并行也可以同时进行 582-继承Thread创建线程 583-多线程机制 主线程和子线程交替执行 单核:两个线程并发 多核:两个线程并行 主线程结束,不是说进程就结束,进程要等所有线程结束 584-为什…

模型Alignment之RLHF与DPO

1. RLHF (Reinforcement Learning from Human Feedback) RLHF 是一种通过人类反馈来强化学习的训练方法,它能够让语言模型更好地理解和执行人类指令。 RLHF 的三个阶段 RLHF 的训练过程一般分为三个阶段: 监督微调(Supervised Fine-Tuning,…

认知杂谈82《跳出信息茧房,持续精进》

内容摘要: 互联网时代,信息丰富,但便捷性削弱了我们的好奇心。互联网是双刃剑,快速获取知识的同时,也让我们陷入“信息茧房”,限制视野。 好奇心减少,部分原因是互联网的“懒惰效应”&#xff0…