深度学习论文: Q-YOLO: Efficient Inference for Real-time Object Detection及其PyTorch实现
深度学习论文: Q-YOLO: Efficient Inference for Real-time Object Detection及其PyTorch实现
Q-YOLO: Efficient Inference for Real-time Object Detection
PDF: https://arxiv.org/pdf/2307.04816.pdf
PyTorch代码: https://github.com/shanglianlm0525/CvPytorch
PyTorch代码: https://github.com/shanglianlm0525/PyTorch-Networks
1 概述
本文介绍了一种低比特量化方法,名为Q-YOLO,用于构建高效的一阶段检测器。Q-YOLO能够有效解决传统量化YOLO模型中由于激活分布不平衡而导致的性能下降问题。Q-YOLO引入了完全端到端的后训练量化(PTQ)流程,并采用了精心设计的单侧直方图(UH)激活量化方案。该方案通过直方图分析确定最大截断值,从而最小化均方误差(MSE)量化误差。在COCO数据集上进行了大量实验,结果表明Q-YOLO的有效性,它在精度和计算成本之间取得了更有利的平衡,并且优于其他PTQ方法。
在YOLOv5s模型的model.21.conv层中绘制了激活值分布直方图(使用2048个箱子)。观察到值在0和-0.2785之间的出现频率非常高,而大于零的值的频率显著减少,这表明激活值存在严重的不平衡现象。
2 Q-YOLO
Q-YOLO对YOLO模型的骨干、中间和头部模块进行量化,并使用标准的MinMax量化方法对权重进行处理。为了解决激活分布不平衡的问题,我们引入了一种新颖的方法,称为基于单侧直方图(UH)的激活量化。UH通过直方图迭代地确定最大截断值,从而最小化量化误差。这种技术显著减少了校准时间,并有效地解决了量化引起的差异,优化了量化过程以保持稳定的激活量化。通过减少激活量化中的信息损失,我们的方法确保了准确的目标检测结果,从而实现了精确可靠的低比特实时目标检测性能。
量化范围设置是建立量化网格的上下截断阈值(分别表示为u和l)的过程。范围设置中的关键权衡在于两种类型的误差之间的平衡:截断误差和舍入误差。当数据被截断以适应预定义的网格限制时,就会产生截断误差。这种截断导致了信息的丢失,并降低了结果量化表示的精度。另一方面,舍入误差是由于舍入操作引入的不准确性而产生的。这种误差会随着时间的推移而累积,并对量化表示的整体准确性产生影响。
MinMax: 没有截断误差。但是对异常值很敏感,强烈的异常值可能会导致过多的舍入误差。
Mean Squared Error (MSE):一定程度上可以缓解大异常值的问题。
Unilateral Histogram-based (UH):本文观察到数值分布集中在下界附近,并伴随着在零以上的出现次数明显减少。对激活值的进一步分析揭示了经验值-0.2785作为下界。这主要是由于YOLO系列中频繁使用的Swish(SILU)激活函数导致的。根据经验证据,我们引入了一种称为单边基于直方图(UH)激活量化的非对称量化方法。在UH中,将最小截断值固定为-0.2785,同时通过迭代确定最小化量化误差的最大截断值,如下所示:
Unilateral Histogram-based (UH)如下:
UH激活量化方法具有两个关键优势。
- 首先,它显著减少了校准时间。
- 其次,它通过允许更大的整数集合来表示在0和-0.2785之间频繁出现的激活值,从而提高了量化精度,确保了稳定的激活量化。
3 Experiments
相关文章:
![](https://img-blog.csdnimg.cn/4841621a4339461daf718701d0ba38fe.png#pic_center)
深度学习论文: Q-YOLO: Efficient Inference for Real-time Object Detection及其PyTorch实现
深度学习论文: Q-YOLO: Efficient Inference for Real-time Object Detection及其PyTorch实现 Q-YOLO: Efficient Inference for Real-time Object Detection PDF: https://arxiv.org/pdf/2307.04816.pdf PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代…...
解读随机森林的决策树:揭示模型背后的奥秘
一、引言 随机森林[1]是一种强大的机器学习算法,在许多领域都取得了显著的成功。它由多个决策树组成,而决策树则是构建随机森林的基本组件之一。通过深入解析决策树,我们可以更好地理解随机森林模型的工作原理和内在机制。 决策树是一种树状结…...
![](https://img-blog.csdnimg.cn/img_convert/e71675e1045340407ab2fc55e1468cf4.png)
OceanMind海睿思获评中国信通院“内审数字化产品评测”卓越级(最高级)!
2023年7月27日,由中国内部审计协会、中国通信标准化协会指导,中国信息通信研究院主办的第二届数字化审计论坛在北京成功召开。 大会聚焦内部审计数字化领域先进实践、研究成果、行业发展举措,重磅发布了多项内部审计数字化领域的最新研究和实…...
![](https://img-blog.csdnimg.cn/img_convert/0cd8d6fcd21200595707875a6835413a.webp?x-oss-process=image/format,png)
TPlink云路由器界面端口映射设置方法?快解析内网穿透能实现吗?
有很多网友在问:TPlink路由器端口映射怎么设置?因为不懂端口映射的原理,所以无从下手,下面小编就给大家分享TPlink云路由器界面端口映射设置方法,帮助大家快速入门TP路由器端口映射设置方法。 1.登录路由器管理界面&a…...
![](https://img-blog.csdnimg.cn/img_convert/f00a7e55955f770ab8d4889f5dc337c1.png)
css3的filter图片滤镜使用
业务介绍 默认:第一个图标为选中状态,其他三个图标事未选中状态 样式:选中状态是深蓝,未选中状体是浅蓝 交互:鼠标放上去选中,其他未选中,鼠标离开时候保持当前选中状态 实现:目前…...
![](https://img-blog.csdnimg.cn/6d638da3f67d4514b01f62166d7740cf.png)
❤️创意网页:打造炫酷网页 - 旋转彩虹背景中的星星动画
✨博主:命运之光 🌸专栏:Python星辰秘典 🐳专栏:web开发(简单好用又好看) ❤️专栏:Java经典程序设计 ☀️博主的其他文章:点击进入博主的主页 前言:欢迎踏入…...
![](https://www.ngui.cc/images/no-images.jpg)
react常用知识点
React是一个用于构建用户界面的JavaScript库。以下是React常用的知识点: 组件:React将用户界面分解成小而独立的组件,每个组件都有自己的状态和属性,并且可以通过组合这些组件来构建复杂的用户界面。 // 函数组件示例 function We…...
![](https://www.ngui.cc/images/no-images.jpg)
iOS开发-QLPreviewController与UIDocumentInteractionController显示文档
iOS开发-QLPreviewController与UIDocumentInteractionController显示文档 在应用中,我们有时想预览文件, 可以使用QLPreviewController与UIDocumentInteractionController 一、QLPreviewController与UIDocumentInteractionController QLPreviewController是一个 UIViewContr…...
![](https://www.ngui.cc/images/no-images.jpg)
八、用 ChatGPT 帮助排查生产事故
目录 一、实验介绍 二、背景 三、故障排查概述 3.1 生产环境故障排查涉及的角色...
![](https://www.ngui.cc/images/no-images.jpg)
WPF实战学习笔记25-首页汇总
注意:本实现与视频不一致。本实现中单独做了汇总接口,而视频中则合并到国todo接口当中了。 添加汇总webapi接口添加汇总数据客户端接口总数据客户端接口对接3首页数据模型 添加数据汇总字段类 新建文件MyToDo.Share.Models.SummaryDto using System;…...
![](https://img-blog.csdnimg.cn/3ccf28c2cd1d4e5ba8a6ca7852c4aa5d.png)
FreeRTOS源码分析-7 消息队列
目录 1 消息队列的概念和作用 2 应用 2.1功能需求 2.2接口函数API 2.3 功能实现 3 消息队列源码分析 3.1消息队列控制块 3.2消息队列创建 3.3消息队列删除 3.4消息队列在任务中发送 3.5消息队列在中断中发送 3.6消息队列在任务中接收 3.7消息队列在中断中接收 1 消…...
![](https://img-blog.csdnimg.cn/a516756f301642e183fd37f735c37b9a.png)
机器学习深度学习——权重衰减
👨🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——模型选择、欠拟合和过拟合 📚订阅专栏:机器学习&&深度学习 希望文章对你…...
![](https://img-blog.csdnimg.cn/7c9d14a671294a6684c5c6ded88297d5.png)
【Linux】线程互斥 -- 互斥锁 | 死锁 | 线程安全
引入互斥初识锁互斥量mutex锁原理解析 可重入VS线程安全STL中的容器是否是线程安全的? 死锁 引入 我们写一个多线程同时访问一个全局变量的情况(抢票系统),看看会出什么bug: // 共享资源, 火车票 int tickets 10000; //新线程执行方法 vo…...
![](https://www.ngui.cc/images/no-images.jpg)
【vue-pdf】PDF文件预览插件
1 插件安装 npm install vue-pdf vue-pdf GitHub:https://github.com/FranckFreiburger/vue-pdf#readme 参考文档:https://www.cnblogs.com/steamed-twisted-roll/p/9648255.html catch报错:vue-pdf组件报错vue-pdf Cannot read properti…...
![](https://img-blog.csdnimg.cn/e206b36a957247058876d0a1601ca415.png)
Flink集群运行模式--Standalone运行模式
Flink集群运行模式--Standalone运行模式 一、实验目的二、实验内容三、实验原理四、实验环境五、实验步骤5.1 部署模式5.1.1 会话模式(Session Mode)5.1.2 单作业模式(Per-Job Mode)5.1.3 应用模式(Application Mode&a…...
![](https://www.ngui.cc/images/no-images.jpg)
Spring整合JUnit实现单元测试
Spring整合JUnit实现单元测试 一、引言 在软件开发过程中,单元测试是保证代码质量和稳定性的重要手段。JUnit是一个流行的Java单元测试框架,而Spring是一个广泛应用于Java企业级开发的框架。本文将介绍如何使用Spring整合JUnit实现单元测试,…...
![](https://www.ngui.cc/images/no-images.jpg)
Spring Boot学习路线1
Spring Boot是什么? Spring Boot是基于Spring Framework构建应用程序的框架,Spring Framework是一个广泛使用的用于构建基于Java的企业应用程序的开源框架。Spring Boot旨在使创建独立的、生产级别的Spring应用程序变得容易,您可以"只是…...
![](https://img-blog.csdnimg.cn/4d7f67d001f445c5b2bffa6c74fbfa75.gif#pic_center)
管理类联考——写作——论说文——实战篇——标题篇
角度3——4种材料类型、4个立意对象、5种写作态度 经过审题立意后,我们要根据我们的立意,确定一个主题,这个主题必须通过文章的标题直接表达出来。 标题的基本要求 主题清晰,态度明确 第一,阅卷人看到一篇论说文的标…...
![](https://img-blog.csdnimg.cn/0f4dd94aab0f40e98bf642ad1ac3875e.png)
idea中设置maven本地仓库和自动下载依赖jar包
1.下载maven 地址:maven3.6.3 解压缩在D:\apache-maven-3.6.3-bin\apache-maven-3.6.3\目录下新建文件夹repository打开apache-maven-3.6.3-bin\apache-maven-3.6.3\conf文件中的settings.xml编辑:新增本地仓库路径 <localRepository>D:\apache-…...
![](https://img-blog.csdnimg.cn/31df673b9070470480223ccbe5d4f4ab.png)
前缀和差分
前缀和 前缀和:一段序列里的前n项和 给出n个数,在给出q次问询,每次问询给出L、R,快速求出每组数组中一段L至R区间的和 给出一段数组,每次问询为求出l到r区间的和 普通方法:L到R进行遍历,那么…...
![](https://img-blog.csdnimg.cn/d0ac8cc0f0244ef3831e1d7f57ba8364.png)
Golang GORM 模型定义
模型定义 参考文档:https://gorm.io/zh_CN/docs/models.html 模型一般都是普通的 Golang 的结构体,Go的基本数据类型,或者指针。 模型是标准的struct,由Go的基本数据类型、实现了Scanner和Valuer接口的自定义类型及其指针或别名组成&#x…...
![](https://img-blog.csdnimg.cn/img_convert/364289d474972df4d0482de116eb37b1.png)
微服务的各种边界在架构演进中的作用
演进式架构 在微服务设计和实施的过程中,很多人认为:“将单体拆分成多少个微服务,是微服务的设计重点。”可事实真的是这样吗?其实并非如此! Martin Fowler 在提出微服务时,他提到了微服务的一个重要特征—…...
![](https://www.ngui.cc/images/no-images.jpg)
使用 docker-compose 一键部署多个 redis 实例
目录 1. 前期准备 2. 导入镜像 3. 部署redis master脚本 4. 部署redis slave脚本 5. 模板文件 6. 部署redis 7. 基本维护 1. 前期准备 新部署前可以从仓库(repository)下载 redis 镜像,或者从已有部署中的镜像生成文件: …...
![](https://img-blog.csdnimg.cn/b7bcb86da5c043c7b84dfec6197ed4e5.png)
14-测试分类
1.按照测试对象划分 ①界面测试 软件只是一种工具,软件与人的信息交流是通过界面来进行的,界面是软件与用户交流的最直接的一层,界面的设计决定了用户对设计的软件的第一印象。界面如同人的面孔,具有吸引用户的直接优势…...
![](https://img-blog.csdnimg.cn/957554eb37cd4dc797faba23303d613a.png)
打开域名跳转其他网站,官网被黑解决方案(Linux)
某天打开网站,发现进入首页,马上挑战到其他赌博网站。 事不宜迟,不能让客户发现,得马上解决 我的网站跳转到这个域名了 例如网站跳转到 k77.cc 就在你们部署的代码的当前文件夹下面,执行下如下命令 find -type …...
![](https://www.ngui.cc/images/no-images.jpg)
redis总结
1.redis redis高性能的key-value数据库,支持持久化,不仅仅支持简单的key-value,还提供了list,set,zset,hash等数据结构的存储,支持数据的备份(master-slave模式) redis&…...
![](https://img-blog.csdnimg.cn/img_convert/ca59f50d2aa9c1fa22e1ec34bccbe171.png)
现代C++中的从头开始深度学习:激活函数
一、说明 让我们通过在C中实现激活函数来获得乐趣。人工神经网络是生物启发模型的一个例子。在人工神经网络中,称为神经元的处理单元被分组在计算层中,通常用于执行模式识别任务。 在这个模型中,我们通常更喜欢控制每一层的输出以服从一些约束…...
![](https://img-blog.csdnimg.cn/b7084e2b3dd84c6ca78c1fb19413b67d.jpeg)
python怎么实现tcp和udp连接
目录 什么是tcp连接 什么是udp连接 python怎么实现tcp和udp连接 什么是tcp连接 TCP(Transmission Control Protocol)连接是一种网络连接,它提供了可靠的、面向连接的数据传输服务。 在TCP连接中,通信的两端(客户端和…...
![](https://www.ngui.cc/images/no-images.jpg)
java设计模式-观察者模式(jdk内置)
上一篇我们学习了 观察者模式。 观察者和被观察者接口都是我们自己定义的,整个设计模式我们从无到有都是自己设计的,其实,java已经内置了这个设计模式,我们只需要定义实现类即可。 下面我们不多说明,直接示例代码&am…...
![](https://img-blog.csdnimg.cn/img_convert/8a7f2488c79e75a2cbdb3fe9344adcf9.gif)
秒级体验本地调试远程 k8s 中的服务
点击上方蓝色字体,选择“设为星标” 回复”云原生“获取基础架构实践 背景 在这个以k8s为云os的时代,程序员在日常的开发过程中,肯定会遇到各种问题,比如:本地开发完,需要部署到远程k8s集群,本地…...
![](/images/no-images.jpg)
铁建设文件在什么网站下载/网络营销教案ppt
spring-boot-starter机制 starter是什么 在了解spring-boot-starter是什么前,我们先回忆一下,最开始我们使用spring,spring mvc时是怎么和其他组件进行整合的呢? 没错,我们要配置很多模板xml文件,而且对新手不熟悉不…...
![](http://imgsrc.baidu.com/forum/w%3D580/sign=50e6e9d5f2dcd100cd9cf829428a47be/bc3f48a88226cffc7536fc6ab3014a90f703ea41.jpg)
成都专门做公司网站的公司/成人职业技能培训有哪些项目
1,安装ubuntu双系统教程参看 http://www.jianshu.com/p/2eebd6ad284d 简书教程; 注意安装过程中一些小问题。 1)给ubuntu分区时候,分完四个区后 install出现问题,遮个教程没有涉及; 错误提示要为biosgrub再分个》1M的区&#…...
![](/images/no-images.jpg)
上饶做网站的/网络营销的主要内容有哪些
引用地址:http://www.iteye.com/topic/481228 和http://www.cnblogs.com/rubylouvre/archive/2010/03/09/1681222.html 一.创建方法: 1. var te new RegExp("匹配的内容",“匹配模式”); 2. var te /匹配的内容/匹配的模式; 二.匹配的内容&…...
后台风格网站/传媒公司
union all 和union都是讲两个结果集合并为一个 union union取唯一值,记录没有重复 [SQL 语句 1]UNION[SQL 语句 2] union all union all是直接连接,取到得是所有值,记录可能有重复 [SQL 语句 1]UNION ALL[SQL 语句 2] 效率:…...
![](https://img-blog.csdnimg.cn/4c476e57daf74febb0ef2d2a17e1c65c.png#pic_center)
深圳市工程建设交易服务中心网站/他达那非片能延时多久
文章目录1.粘包现象演示2.半包现象演示3.粘包半包现象分析3.1 粘包3.2 半包4.粘包半包解决方案4.1短连接4.2 定长解码器4.3 行解码器4.4 LengthFieldBasedFrameDecoder4.5 LengthFieldBasedFrameDecoder演示参考黑马程序员1.粘包现象演示 我们通过一段代码演示一个这个粘包现象…...
![](https://img-blog.csdnimg.cn/img_convert/b101d04a3cf61b187b16ebc48e92d39c.png#pic_center)
专业做食材网站/有哪些网站可以免费推广
💥 项目专栏:【Python实现经典机器学习算法】附代码原理介绍 文章目录前言一、Agagrad优化原理二、更新规则三、迭代过程四、代码实践前言 👑 最近粉丝群中很多朋友私信咨询一些决策树、逻辑回归等机器学习相关的编程问题,为了能更…...