MobileNet ShuffleNet & yolov5替换backbone

2023-11-02

以下内容参考参考

MobileNet V1

亮点:
(1)使用可分离卷积核大幅减少参数量
(2)增加了超参数ab
a:卷积核个数的倍率
b:分辨率高低

MobileNet V2

亮点:
(1)使用倒结构残差
残差结构:两边粗,中间细
倒残差结构:两边细,中间粗
在这里插入图片描述
为什么要使用倒残差(Inverted Residuals)结构?
在这里插入图片描述
其实 Inverted Residuals 结构就是在深度分离卷积之前加入pw进行升维。
我们很清楚 深度分离卷积的目的就是降低参数量 。
那么问题就变成 为什么要在使用pw进行升维
一句话:高维使用relu投影降维到2D损失的信息少

MobileNet V3

亮点:
(1)更新block
①新增SE模块
②更换激活函数

(2)重新设计耗时层结构
①减少第一个卷积层的卷积核个数
②精简了last stage:删除了对性能没有明显提升的部分

(3)重新设计激活函数
swishx复杂,替换成效果差不多的h-switch

ShuffleNetV1

亮点:
①使用组卷积大幅减少参数量
②在组卷积之后使用Shuffle层有利于不同组之间信息共享

ShuffleNetV2


笔记来自这里!

ShuffleNetV2直接通过控制不同的环境来直接测试网络在设备上运行速度的快慢,而不是通过FLOPs来判断。

(1)四条原则

1.当卷积层的输入特征矩阵与输出特征矩阵channel相等时MAC最小(保持FLOPs不变时)

  • MAC:内存访问成本

2.当GConv的groups增大时(保持FLOPs不变时),MAC也会增大

GroupConv将卷积Filter分为G组,输入特征映射通道也分为G组,每组卷积Filter处理对应的一组输入特征映射通道。由于每一组卷积Filter只应用于相应的输入通道组,卷积的计算代价显著降低。

同时也会带来缺点:

通道信息并不在不同的组之间共享,即不同组的输出Feature map通道只从对应组的输入通道接收信息。这阻碍了不同组通道之间的信息流动,降低了GroupConv的特征提取能力。


一方面,它允许在一个固定的FLOPs下使用更多的channels,并增加网络容量(从而提高准确性)。然而,另一方面,增加的通道数量导致更多的MAC

3.网络设计的碎片化程度越高,速度越慢

4.Element-wise操作带来的影响是不可忽视的

实战

别人写的可真好啊!!!

实际上对于一个模块的更换,无非就是三步:
①定义模块
②在yolo.py注册模块
注册换句话说不一定会使用到
在这里插入图片描述

③在yaml文件中更换相应的层结构


Shufflenetv2
在这里插入图片描述


Mobilenetv3
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MobileNet ShuffleNet & yolov5替换backbone 的相关文章

随机推荐

  • 【LlamaIndex 教程】一文看懂LlamaIndex用法,为LLMs学习私有知识

    城南 LlamaIndex 教程 一文看懂LlamaIndex用法 为LLMs学习私有知识 我是卷了又没卷 薛定谔的卷的AI算法工程师 陈城南 全网平台同名 担任某大厂的算法工程师 带来最新的前沿AI知识 分享 AI 有趣工具和实用玩法 包
  • vue3实现高德地图多点标注(so easy)

    vue3实现高德地图多点标注 so easy 前言 思路清晰 抽丝剥茧 必要的准备工作 最简单的部分 处理数据之前 最关键的思路 效果 完整代码 前言 非常感谢你能打开这篇博客 我想你一定是遇到了地图多点标注有关的问题 这些问题对你造成一些
  • 04 Java面试题之数组

    一 数组的类型可以为任意类型吗 答 可以是任意类型 二 数组中的元素的类型必须是相同的吗 数组中的元素是有序的吗 答 数组中元素的类型必须是相同的 数组中元素是有序的 索引的顺序 从零开始 三 数组的长度可变不 数组的长度使用哪个属性 答
  • 深度学习|卷积神经网络

    一 卷积神经网络简介 卷积神经网络 Convolutional Neural Network CNN 是一种深度学习神经网络结构 主要用于图像识别 计算机视觉等领域 该结构在处理图像等高维数据时表现出色 因为它具有共享权重和局部感知的特点
  • Yii Framework 开发教程(12) UI 组件 ClipWidget示例

    CClipWidget提供了类似录制 宏 的功能 定义在CClipWidget的init和run之间的内容可以存放在Controller的Clip变量中 然后重新回放到任意其它位置 CClipWidget封装的是CBaseControlle
  • html随机点名函数,利用JS实现课堂随机点名和顺序点名

    1 效果 ScreenGif gif 2 Html代码 随机点名区域 3 JavaScript代码 var i 0 t用来接收setTimeOut 的返回值 var t var st 张三 李四 老王 旺财 铁柱 王八 来福 小明 小红 狗
  • 时域OCT与频域OCT的区别

    时域OCT TD OCT 与频域OCT FD OCT 的最大区别在于信号采集单元 也就是检测器部分 时域 用光电探测器进行点探测 频域 用光谱仪进行光谱的采集 一般多用光栅和线阵CCD阵列为核心的小型光谱仪 按照分光原件不同分的 1 1 g
  • 类文件具有错误的版本 55.0, 应为 52.0

    文章目录 背景 原因 解决方案 方案一 条件 使用idea本身maven的编译命令的话 使用命令编译的话 mac怎么查看安装的jdk目录 mac怎么修改默认是jdk11 1 evanyang Evans MacBook Pro vim ba
  • 在ubuntu中安装Jenkins

    安装前的准备 一台 ubuntu 主机 本篇文章使用的是Ubuntu 16 04 5 LTS 切换到root用户 安装 Jenkins 第一次安装的可以稍微看下jenkins 的安装文档 总之 如果没有安装 Java 需要安装一下 下面是目
  • pickle库的使用

    pickle 作用 把一个列表 迭代类型变量 存储为序列化对象 不以字符串存 而是以序列存 存好后下次取出依旧是列表 迭代类型变量 意义 即把迭代变量保存到硬盘中 而不只是存在内存里 可以方便直接提供给他人一个变量而不用给比人一整段代码 存
  • SpringCloud学习笔记(二)

    续 一 负载均衡的第二种实现方式Feign 前面在使用Ribbon RestTemplate时 利用RestTemplate对Http请求的封装处理 形成了一套模板化的调用方法 但是使用 RestTemplate 还是不方便 这样每次都调用
  • 87-信号和槽-基于Qt Designer 的信号与槽

    基于Qt Designer 的信号与槽 可以使用 Qt Designer 创建信号与槽 这种方式的好处是可以可视化创建页面视图 少写很多代码 只需要关注逻辑部分就可以 本节案例要实现的功能如下 通过一个模拟打印的界面来详细说明信号的使用 在
  • Flutter的手势识别功能实现GestureDetector

    GestureDetector简介 GestureDetector 是 Flutter 中一个非常常用的小部件 它提供了许多手势识别的功能 包括点击 双击 长按 拖动 缩放等等 使用方法 GestureDetector 可以包裹其他部件 当
  • jenkins pipeline中获取shell命令的标准输出或者状态

    获取标准输出 第一种 result sh returnStdout true script
  • args在python中什么意思_Python中*args、**args到底是什么、有啥区别、怎么用

    调用函数时使用 和 假设有函数 def test a b c test args 的作用其实就是把序列 args 中的每个元素 当作位置参数传进去 比如上面这个代码 如果 args 等于 1 2 3 那么这个代码就等价于 test 1 2
  • BUUCTF-[Misc杂项]---二维码

    目录 BUUCTF Misc杂项 二维码 题目 题解 BUUCTF Misc杂项 二维码 题目 题解 下载附加压缩包并打开 打开后发现是一张png图片 解压下来 解压后是一张二维码图片 我们直接放到二维码查看器工具当中 得到此条信息 我们继
  • c# global::

    Global 表示所有命名空间的根部 Global asa 文件的作用主要是用于站点或虚拟目录下程序的数据共享和多线程 在 global asa 中 可以声明 Application 事件和 Session 事件 并可以声明一些 Sessi
  • Windows安装pip方法

    pip是一款非常方便的python包管理工具 本文主要介绍在windows 10下安装pip方法 1 下载pip 地址 https pypi python org pypi pip downloads 注意选择tar gz压缩包 目前最新版
  • 服务器系统版本选择,云服务器选择系统版本

    云服务器选择系统版本 内容精选 换一换 使用弹性云服务器或者外部镜像文件创建私有镜像时 必须确保操作系统中已安装PV driver 使新发放的云服务器支持XEN虚拟化 同时也可以提升云服务器的I O处理性能 实现对云服务器硬件的监控和其他高
  • MobileNet ShuffleNet & yolov5替换backbone

    以下内容参考参考 MobileNet V1 亮点 1 使用可分离卷积核大幅减少参数量 2 增加了超参数a b a 卷积核个数的倍率 b 分辨率高低 MobileNet V2 亮点 1 使用倒结构残差 残差结构 两边粗 中间细 倒残差结构 两