YOLOv9改进,YOLOv9主干网络替换为GhostNetV3(2024年华为提出的轻量化架构,全网首发),助力涨点

news2024/12/23 9:59:00

在这里插入图片描述

摘要

GhostNetV3 是由华为诺亚方舟实验室的团队发布的,于2024年4月发布。
在这里插入图片描述

摘要:紧凑型神经网络专为边缘设备上的应用设计,具备更快的推理速度,但性能相对适中。然而,紧凑型模型的训练策略目前借鉴自传统模型,这忽略了它们在模型容量上的差异,可能阻碍紧凑型模型的性能提升。在本文中,通过系统地研究不同训练成分的影响,我们介绍了一种用于紧凑型模型的强大训练策略。我们发现,适当的重参数化和知识蒸馏设计对于训练高性能的紧凑型模型至关重要,而一些常用于训练传统模型的数据增强方法(如 Mixup 和 CutMix)反而会导致性能下降。作者在 ImageNet-1K 数据集上的实验表明,为紧凑型模型设计的专门训练策略适用于各种架构,包括 GhostNetV3、MobileNetV2 和 ShuffleNetV2。具体而言,GhostNetV3 1.3× 在移动设备上以仅 269M FLOPs 和 14.46ms 的延迟实现了 79.1% 的 top-1 准确率,远超其常规训练的对手。此外,还可以扩展到目标检测场景。

理论介绍

GhostNetV3 提供了以下几种常见的模型权重,不同宽度缩放因子(Width Scaling):

  • 0.5x: 较小模型深度,用于资源更受限的场景。
  • 1.0x: 标准模型。
  • 1.3x: 模型深度比1.0x更深。
  • 1.6x: 更大的模型版本,适用于计算资源较多的设备。

大家可以根据不同场景选择合适的模型宽度缩放因子,本文选择 0.5,具体可见第二章的代码。

GhostNetV2 和 GhostNetV3 的架构如下:
在这里插入图片描述

GhostNets(GhostNetV1 和 GhostNetV2)是为在移动设备上高效推理而设计的最先进的紧凑型模型。其关键架构是 Ghost 模块,可以通过廉价操作生成更多特征图来替换原始卷积。在普通卷积中,输出特征 Y 通过 Y = X ∗ W 获得,其中 W ∈ R cout×cin×k×k 是卷积核,X 是输入特征。cin 和 cout 分别表示输入和输出通道维度。k 是核大小,∗ 表示卷积操作。Ghost 模块通过两个步骤减少普通卷积的参数和计算成本。

GhostNetV3 引入了多分支重参数化机制,通过在卷积层中添加额外的平行分支来改善性能。这些分支在训练过程中提供更多的表征能力,最终通过将多个分支重组为一个卷积层来实现推理时的高效性。通过添加配备 BatchNorm 层的重复分支将再参数化引入紧凑型模型。
GhostNetV3 在 GhostNetV2 的基础上进行了进一步的优化,主要体现如下:

  • 重参数化训练 (Training of Convolution):GhostNetV3 引入了

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

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

相关文章

仓库场景物品检测分类系统源码分享

仓库场景物品检测分类检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Comp…

显示adb报错,uniapp安装自定义基座

uni-app,uniCloud,serverless,真机运行常见问题,第1步 HX中没有运行到手机的菜单,第2步 电脑是否能检测到手机,第3步 电脑与手机是否建立信任调试关系,3.1 Android设备信任,3.2 iOS设备信任,第4步 HBuilderX检测手机,4.1 检测Android手https://uniapp.dcloud.net.cn/tutorial/r…

PHP爬虫APP程序:打造智能化数据抓取工具

在信息爆炸的时代,数据的重要性日益凸显。PHP作为一种广泛使用的服务器端脚本语言,因其强大的功能和灵活性,成为开发爬虫程序的理想选择。本文将探讨如何使用PHP构建一个爬虫APP程序,以及其背后的思维逻辑和实现步骤。 什么是PHP爬…

【高分系列卫星简介——高分七号卫星(GF-7)】

高分七号卫星(GF-7) 高分七号(GF-7)卫星是中国高分辨率对地观测系统(高分专项)的重要组成部分,具有显著的技术突破和广泛的应用价值。以下是对高分七号卫星的详细介绍: 一、基本信息…

word2vector训练代码详解

目录 1.代码实现 2.知识点 1.代码实现 #导包 import math import torch from torch import nn import dltools #加载PTB数据集 ,需要把PTB数据集的文件夹放在代码上一级目录的data文件中,不用解压 #批次大小、窗口大小、噪声词大小 batch_size, ma…

堆的数组实现

目录 一、堆 二叉树的顺序结构 堆的概念及结构 1.概念 2.堆的分类 (1)大堆 (2)小堆 二、利用数组(顺序结构)实现堆的过程 1.利用数组实现堆的思路 2.堆是用数组实现的,在数组中通过双亲找自己左右孩子、通过左右孩子找自己双亲的思路 2.1.思路 2.2.孩子与…

认知杂谈84《菜鸟的自我修炼:知易行难与行难知易》

内容摘要: 理解与行动之间的差距是日常生活的常见挑战。"知易行难"体现在理解简单但执行困难,例如知道蔬菜有益但难以坚持食用。而"行难知易"则是开始时困难但后来容易的任务,如学习骑自行车。 这种差异源于心理惰性和习…

使用 Llama-index 实现的 Agentic RAG-Router Query Engine

前言 你是否也厌倦了我在博文中经常提到的老式 RAG(Retrieval Augmented Generation | 检索增强生成) 系统?反正我是对此感到厌倦了。但我们可以做一些有趣的事情,让它更上一层楼。接下来就跟我一起将 agents 概念引入传统的 RAG 工作流,重新…

OnlyOffice 打开文档时提示下载失败

OnlyOffice 下载失败问题 问题概述 OnlyOffice前端界面出现“下载失败” 问题定位(0:docker内不能够访问) 很常见的一种情况是后端服务地址错误,在docker内无法访问。 请在docker容器中确定这个地址是可以访问的,鉴…

electron 设置界面右下角打开

功能需求场景 写一个可以下载各种平台的小工具,需要右下角打开方便做其它事情 实现基础 要在屏幕的右下角设置窗口,可以调整mainWindow的创建参数,特别是通过使用x和y坐标来定位窗口 ; 需要获取屏幕的尺寸,并据此计算…

不透明物体的投射和接收阴影

1、Fallback的作用 新建一个材质球,将其的Shader设置为之前编写的多种光源综合实现Shader 并将该材质球赋值给较大的立方体使用,我们会发现该立方体不再投射阴影也不再接受阴影 (1)不投射阴影的原因 该Shader中没有LightMo…

Rust编程的if选择语句

【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com) Rust编程与项目实战_夏天又到了的博客-CSDN博客 Rust语言实现选择结构时,根据某种条件的成立与否而采用不同的程序段进行…

【Kubernetes】日志平台EFK+Logstash+Kafka【实战】

一,环境准备 (1)下载镜像包(共3个): elasticsearch-7-12-1.tar.gz fluentd-containerd.tar.gz kibana-7-12-1.tar.gz (2)在node节点导入镜像: ctr -nk8s.io images i…

解决sortablejs+el-table表格内限制回撤和拖拽回撤失败问题

应用场景: table内同一类型可拖拽,不支持不同类型拖拽(主演可拖拽交换位置,非主演和主演不可交换位置),类型不同拖拽效果需还原,试了好几次el-table数据更新了,但是表格样式和数据不能及时保持…

Java面试题之JVM面试题

JVM 的主要作用是什么? JVM 就是 Java Virtual Machine(Java虚拟机)的缩写,JVM 屏蔽了与具体操作系统平台相关的信息,使 Java 程序只需生成在 Java 虚拟机上运行的目标代码 (字节码)&#xff0…

uniapp 常用高度状态栏,导航栏,tab栏,底部安全高度

实际效果 使用 //使用 let posConfig this.getPosConfig(); // 传false返回值为 px大小 console.log(posConfig.safeBottomH) // 入参 是否转换为rpxgetPosConfig(toRpx true) {const systemInfo uni.getSystemInfoSync();// #ifdef MPconst menuButtonInfo uni.getMenuBu…

Hello Algorithm:Capture 1,2 初识算法

大家好 :) 自学完sklearn的基本使用后,颇感无趣。虽有阅文几篇,却无所获。遂于24年9月26日决习hello algorithm。 :) 好了,不开玩笑了。其实开设这篇专栏我也不知道有没有什么意义。其实是因为最近在读TaskWeaver&…

关于最小二乘法

最小二乘法的核心思想简单而优雅:我们希望找到一条最佳的曲线,使其尽可能贴近所有的数据点。想象一下,当你在画布上描绘一条线,目标是让这条线与点的距离最小。数学上,这可以表示为: 在这个公式中&#xff…

Eclipse Memory Analyzer (MAT)提示No java virtual machine was found ...解决办法

1,下载mat后安装,打开时提示 jdk版本低,需要升级到jdk17及以上版本,无奈就下载了jdk17,结果安装后提示没有jre环境,然后手动生成jre目录,命令如下: 进入jdk17目录:执行&…

SpringBoot的基础(自动配置)

SpringBootApplication注解 是一个组合注解,其中EnableAutoConfiguration让SpringBoot根据类路径中的jar包依赖为当前项目进行自动配置 例如:添加了spring-boot-starter-web依赖,会自动添加Tomcat和SpringMVC的依赖 添加了spring-boot-start…