ShuffleNet v2

轻量级网络——ShuffleNetV2 回顾:轻量级网络——ShuffleNetV1 paper链接:ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design 关键内容: ShuffleNetV2中提出了一个关键点,之前的轻量级网络都是通过计算网络复杂度的一个间接度量,即FLOPs为指导。通过计算浮点运算量来描述轻量级网络的快慢。但是从来不直接考虑运行的速度。在移动设备中的运行速度不仅仅需要考虑FLOPs,还需要考虑其他的因素,比如内存访问成本(memory 阅读详情

ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design

论文指出单纯的乘加运算FLOPs并不能完全表示模型的运算速度,访存开销memory access cost(MAC)也应该考虑进去。并基于这,设计出了轻量化网络ShuffleNet V2。

 

提出了4个改进的原则:

(1)单个模块的输入输出通道相同,可以最小化访存开销(MAC)

c1:输入通道数

c2:输出通道数

h,w:输入feature map 的高度,宽度

B:FLOPs数,就是计算量,这里假设B恒定,卷积为1*1卷积(pointwise convolution ),因此计算量就是hwc1c2

MAC:访存次数,包括从内存取输入的feature map 的次数hwc1,将结果写回去的次数hwc2,取1*1卷积核参数的次数1*1*c1*c2

假设FLOPs数B恒定,c1*c2乘积一定的条件下,c1==c2可以使得c1+c2的值最小。

得出结论,当c1:c2=1:1时,可以获得最小的访存次数,使得网络运行速度提升。

(2)过量使用组卷积group convolution ,会增加MAC

g:组卷积的group个数

B:FLOPs数,由于这里使用的是组卷积,因此要除g

MAC:访存次数,从MAC公式可以看出,g越大,MAC值越大

(3)网络的分支越多,并行度越差

网络碎片化会降低并行度 一些网络如Inception,以及Auto ML自动产生的网络NASNET-A,它们倾向于采用“多路”结构,即存在一个lock中很多不同的小卷积或者pooling,这很容易造成网络碎片化,减低模型的并行度,相应速度会慢

(4)Element-wise 操作的时间是不可忽略的

像ReLU, AddTensor, AddBias 这些操作,虽然具有比较小的FlOPs数,但是却有比较大的访存MAC

 

最终结论:

  1. 使用平衡的卷积,(相同的输入,输出通道数)
  2. 组卷积的group数要谨慎设计
  3. 减少网络的并行度,减少碎片化
  4. 减少Element-wise 操作

 

网络模块:

前2个模块为ShuffleNet V1中的模块,(a)为传统模块,(b)为下采样模块

后2个模块为ShuffleNet V2中的模块,(c)为传统模块,(d)为下采样模块

V2和V1模块设计的区别:

  1. v2中的传统模块增加了channel split,假设原始输入通道数为c,将通道分成了c-c’和c’两个通道,实验中,c’=c/2
  2. 将channle shuffle操作移到后面来做
  3. 传统模块中将add操作转化为concat操作,有助于增加信息量,减少运算量
  4. 将Group conv换成了普通的conv,可以减少group数,减少MAC

 

网络结构:

论文实验:

分类任务精度:

ShuffleNet v2 ≥MobileNet v2 > ShuffeNet v1 > Xception

检测任务精度:

ShuffleNet v2 > Xception ≥ ShuffleNet v1 ≥ MobileNet v2

【深度学习】(5) ShuffleNetV2 代码复现,网络解析,附pytorch完整代码 在同等复杂度的情况下,ShuffleNetV2 要比 ShuffleNetV1 和 MobileNetV1 更加准确。这个网络的优势在于:(1)作为轻量级的卷积神经网络,ShuffleNetV2 相比其他轻量级模型速度稍快,准确率也更高;(2)轻量级不仅体现在速度上,还大大地减少了模型的参数量,并且通过设定每个单元的通道数便可以灵活地调整模型的复杂度。 阅读详情

相关推荐

ShuffleNet V2(2018 CVPR)

本文主要介绍了深度卷积神经网络(CNN)架构设计中的两个原则:直接指标(如速度)应该优先于间接指标(如计算复杂度),并且这些指标应该在目标平台上进行评估。作者通过分析现有CNN结构的速度和准确率表现,并提出了四个实用的设计指南,包括增加通道数、减少通道数、使用残差连接以及采用空间填充卷积等。基于这些指南,作者提出了一种新的CNN结构——ShuffleNet V2,在GPU和ARM平台上进行了验证实验,结果表明该结构比之前的网络更快速且准确率更高。

朴实无华的研究生活 1963

【图像分类】【深度学习】【轻量级网络】【Pytorch版本】ShuffleNet_V2模型算法详解

【图像分类】【深度学习】【轻量级网络】【Pytorch版本】ShuffleNet_V2模型算法详解

yangyu0515的博客 3782

轻量型神经网络 shufflenet V1和shufflenet V2

1.shufflenet V1 ShuffleNet是旷视科技(Face++)提出的一种计算高效的CNN模型,其和MobileNet和SqueezeNet等一样主要是想应用在移动端 所以,ShuffleNet的设计目标也是如何利用有限的计算资源来达到最好的模型精度,这需要很好地在速度和精度之间做平衡。 在mobilenet v1中的核心操作是引入了深度可分离卷积,即通过对feature map的每个channel维度进行分组,分组数等于通道数, 然后通过1*1的卷积快进行通道之间信息的融合,防止通道信息无

weixin_41709956的博客 1761

shufflenet v1/v2的网络结构和实现代码总结(torch)

# 根据torch官方代码修改的shufflenetv2的网络模型 https://github.com/pytorch/vision/blob/main/torchvision/models/shufflenetv2.py # 权重文件下载 download url: https://download.pytorch.org/models/shufflenetv2_x0.5-f707e7126e.pth # 权重文件下载 download url: https://download.pytorch....

BIT_Legend的博客 1万+

深度学习经典网络:ShuffleNet系列网络(ShuffleNet v2)

ShuffleNet v2:https://link.springer.com/chapter/10.1007/978-3-030-01264-9_8 pytorch代码:https://github.com/Randl/ShuffleNetV2-pytorch/blob/master/model.py keras代码:https://github.com/opconty/keras-shuffl...

weixin_42615068的博客 2419

ShuffleNet V2论文记录

简介 ShuffleNet V2是对ShuffleNet V1的改进,是关于模型压缩和加速的文章。目前大部分关于模型加速和压缩的文章对比加速时的效果都是FLOPs,这个指标主要衡量的就是卷积层的乘法操作。但是具有相似网络特征的FLOPs有不同的速度,因此,仅仅使用FLOPs来作为计算复杂度的唯一指标是不够的。下图©(d)中相同的MFLOPs的网络实际速度差别却很大,说明以FLOPs作为指标是有问题...

XiaoTaiYang6的博客 716

经典CNN模型(十一):ShuffleNetV2(PyTorch详细注释版)

ShuffleNet V2 在保留了原版 ShuffleNet 的高效性的同时,通过引入自适应分组卷积、多尺度特征融合和通道剪枝等方法,提高了模型的性能和灵活性。这种改进使得 ShuffleNet V2 更适用于资源受限的设备,如手机和嵌入式系统。

qq_51872445的博客 5803

记一次完整的RPG Maker MV游戏逆向过程(思路一)

了解RPG Maker MV的文件建构 上一篇文章,我们已经成功在PC上运行了游戏,那我们如何对游戏进行逆向呢? 首先要了解正常的RPG Maker MV制作的游戏应该具有哪些文件,以及他的结构 那如何了解他的结构呢,很简单,我们只需要用RPG Maker MV创建一个默认工程,来看看一个游戏的最简结构是怎么样的 创建新项目 项目创建完成 查看项目目录结构 是不是和之前解包出来的很像呢? 通...

Ciiiiiing的博客 1万+

ShuffleNet v2算法笔记

论文:ShuffleNet V2: Practical Guidelines for Ecient CNN Architecture Design 论文链接:https://pan.baidu.com/s/1so7aD3hLKO-0PB8h4HWliw 这篇是ECCV2018关于模型加速和压缩的文章,是之前ShuffleNet的升级版。这篇文章的观点和实验都比较新颖,看完还是有不少收获的,特来...

AI之路 3万+

深入剖析:NAND Flash与SD NAND(贴片式SD卡)存储扇区分配表架构差异与优化策略

本文深入探讨了NAND Flash与SD NAND(贴片式SD卡)在存储技术中的架构差异及其优化策略。NAND Flash作为非易失性存储器,依赖主控芯片进行坏块管理和磨损均衡,而SD NAND则通过内置控制器和标准文件系统(如FAT)简化了存储管理。两者在写入性能、容量扩展和可靠性方面各有优劣,NAND Flash需通过磨损均衡和写入合并优化性能,而SD NAND则通过高容量和高速传输提升效率。文章为嵌入式系统开发者和硬件工程师提供了关于如何根据需求选择并优化存储介质的参考。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1238

IT运维必备 开源Urbackup 备份系统部署教程 实战操作

手动添加ip方式检查是否在线 ,linux需要按上述步骤6配置server端地址 不然一直不会进去状态栏。安装依赖sudo apt install -y libcrypto++-dev。补充客户端手动触发备份命令 (一般在服务端操作即可,特殊情况客户端进行操作)修改ubuntu主机名 建议修改为ip 方便上线以ip命名上线。默认客户端安装完毕大概几分钟之内服务端会自动上线。配置客户端指向server端地址。(2)ubuntu 客户端设置。新起一个远程窗口查看配置状态,配置客户端备份文件目录。

qq_34981755的博客 1283

ShuffleNet系列论文:从v1-v2

v1 paper:https://arxiv.org/pdf/1707.01083.pdf v2paper:https://arxiv.org/abs/1807.11164 code:本文不提供code,参见各个框架的reademe 讲道理,存在mobielnet的情况下,我对shuffleNet的用法就少了很多,最大的存在感是shuffleNetV2提出了嵌入式芯片设计网络时的准则,这个才是关键所在,其他的一般情况下还是用mobilenet比较成熟,配合检测算法用的也比较多,部署框架支持的也...

lovep1的博客 1475

树莓派驱动步进电机

步进电机一般由电机、驱动器构成,树莓派连接驱动器控制电机。 一、接线 DIR+/- 用于控制方向,PUL+/- 用于控制转动; 正极DIR+ 和 PUL+ 接到GPIO口,两个负极接到GPIO口或地线均可,控制的时候不使用。 实验中,DIR+ 接35口,PUL+ 接38口。 树莓派4B GPIO口如图所示 远离树莓派USB的一侧 是 1、2、3号口 二、驱动 DIR控制方向,使用高电平或低电平控制; PUL控制转动,使用脉冲驱动。 三、代码 import RPi.GPI.

weixin_42337765的博客 1万+

【ShuffleNet V2】《ShuffleNet V2:Practical Guidelines for Efficient CNN Architecture Design》

ECCV-2018 caffe 版代码:https://github.com/miaow1988/ShuffleNet_V2_pytorch_caffe/blob/master/shufflenet_v2_x1.0.prototxt caffe 代码可视化工具:http://ethereon.github.io/netscope/#/editor 文章目录1 Background and Mo...

bryant_meng 1460

基于STM32F103C8T6的循迹避障小车完整制作过程(详细)----上篇(第123点)

基于STM32F103C8T6的循迹避障小车完整制作过程 由于本人的一个小项目,要做一个基于STM32的循迹避障小车,前后花了约1周的时间,这个过程种也参考了很多大神分享的资料,学到很多的东西。但是资料都比较分散,有些东西也不好找,在这里就想把自己制作小车的一个整体过程记录分享一下,希望能够帮到你。 我自己也算是一个小白,之前有做过 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎...

weixin_43924857的博客 14万+

25年PINN创新点大盘点!

在科研论文的激烈角逐中,想轻松产出高含金量成果?物理信息神经网络(PINN)堪称“宝藏研究方向”,是冲击高分区论文的绝佳赛道!对于渴望发表优质论文的科研伙伴,这三大研究路径值得重点关注。首先是自适应PINN,在PINN训练过程中,物理方程与实测数据间的矛盾常常导致权重调节困难,而恰好直击这一痛点,是极具价值的研究方向。其次,同样前景广阔,传统多物理场同时训练效果欠佳,如今分阶段训练方法脱颖而出,成效显著且竞争较小。最后,探索及多任务学习等技术的融合,能实现优势叠加,碰撞出创新火花。

Malaai的博客 1971

深度学习【57】ShuffleNet V2

这是shuffleNet的一个改进版本。论文分析了影响运行速度的几个因素,然后提出了一些指导原则。总的来说,这是一篇很不错的论文,值得学习。 现在很多模型的速度评估都是用FLOPs这个指标,但这个指标用来评价速度是不直接的。因为影响模型速度的因素不仅仅是FLOPs,内存访问操作所消耗的计算(memory access cost,MAC),以及平台因素。 对于MAC这种情况,有很多操作会有非常高...

DCD_LIN的博客 3459

30天入门 SAP BTP 开发系列之一:SAP 开发顾问为什么要学习 SAP BTP 开发?能带来哪些收获?

国内 SAP 开发顾问们的微信朋友圈,最近可能都被 SAP 和阿里这两家巨头宣布合作的重磅消息刷屏了吧。近日,德国软件巨头SAP SE与中国电商巨头阿里巴巴集团宣布建立战略合作伙伴关系。根据协议,阿里巴巴集团将利用 SAP Cloud ERP Private 强化企业基础设施,并采用联合上市策略为全球客户创造卓越价值。阿里巴巴将集成 SAP Business Suite,以简化系统维护与升级流程,并实现 AI 功能与核心业务流程的无缝整合。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2385

shuffleNet V2

本文转自:https://blog.youkuaiyun.com/liu1152239/article/details/81477753 论文出发点:旨在设计一个轻量级但是保证精度、速度的深度网络 分析当前: 1、直接用FLOP来衡量算力,不够准确。因为不同的网路,即使参数量相同(模型大小相同),但是模型速度还是存在差异。改为直接用速度(speed)来衡量 2、直接影响速度的因素,首先MAC,比如分组卷...

weixin_37559696的博客 275

阿里云 Docker 镜像加速收费后:这些免费替代方案值得收藏

阿里云Docker镜像加速服务收费后,国内开发者急需免费替代方案。本文推荐2025年仍可用的7个免费镜像源,包括轩辕镜像、DaoCloud、网易云等,并提供多源配置方案以提高稳定性。建议开发者在CI/CD环境中配置多个镜像源,避免构建失败。文章还提供了详细的配置步骤和使用建议,适合个人和团队开发者参考。

sg_knight的专栏 1931

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

shufflenet_v2

续上篇的shufflenet_v1,这里脚本基本没变,只是更改了网络模型文件shufflenet_v2.py 参考链接(详解):https://blog.youkuaiyun.com/u011995719/article/details/81409245 1.data_process.py(数据处理:这里随便选了两张照片,重复造数据,生成数据集) import numpy as np import random import cv2 import os import shutil # path="dat

gm_Ergou的博客 324

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【深度学习经典网络架构—9】:ShuffleNet系列(V1、V2)

一、简述 在学术界,大多围绕着如何提高视觉任务的SOTA进行研究,但在工业界,一个良好的模型如何移植到计算能力不足的移动设备上才是重点考虑的问题。 ShuffleNet是由旷视研究院于2018年发表在CVPR上的一篇文章。AI四小龙之一的旷视,多次在顶级会议(如CVPR、ECCV、ICCV)上发表文章。ShuffleNet的第一作者 Xiangyu Zhang 张祥雨 也是里程碑式神经网络ResNet的作者! 在ShuffleNet中,作者使用了两个操作,分别是==逐点组卷积(pointwise gro

王乐予的博客 8991

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

ShuffleNet V2

ShuffleNet V2 是一款为移动和嵌入式设备设计的高效轻量级网络,它在优化理论计算量的同时,更注重在实际设备上的速度表现。通过通道混洗和轻量化设计,ShuffleNet V2 提供了一个强大、快速且易于集成的深度学习模型,是现代深度学习轻量化的典范之一。

qq_67654130的博客 1427
上一篇: 轻量级网络ShuffleNet v1
下一篇: 学习网站
like_study_cat
博客等级 码龄7年 44粉丝 136原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值