yolov5量化注意事项(二)

news2024/11/26 15:15:36

一、引言

前面的博文,是PTQ的注意事项。本篇文章是记录QAT部分需要修改的一些要点。

注:本文仅供自己的笔记作用,防止未来自己忘记一些坑的处理方式

QAT的大致流程:(1)训练生成基础模型,通常是fp32的pt文件;(2)为fp32的pt文件插入伪量化节点;(3)PTQ获取初步int8校准模型;(4)QAT(量化感知训练),大约10几个epoch就够了,反正就是不需要像 from scratch那种长时间训练;(5)导出onnx文件

二、注意事项

2.1 

 

 注意这里在模型准备阶段。自己手动添加yaml超参数文件,这个随便一个都可以

2.2 

 将hyp=None改为hyp=hyp

2.3 

 注意这边被注释掉的是PTQ后的模型精度

三、模型导出

首先可以看到QAT后的模型和原生的fp32的模型相比,整体精度低了一点点。

 python quant_flow_qat_int8.py --dynamic Ture

 至于后续生成engine,就可以直接使用trtexec处理了。

此处不再赘述!

四、总结

最后注意的是:

(1)量化出来的onnx,对比之前的fp32的模型的onnx会增加模型文件在磁盘上的占用大小。由于(模型)onnx中多了q和dq,因此会比以前的稍微大点;

(2)我前面有疑问:fp32-》int8降低了存储字节数,不是会降低磁盘占用么?这个根据大佬们的解答也是:在onnx文件中存储的话还是FP32的数值,只不过运行的时候才是会转到int8算子计算。说白了这是两个概念上的东西了,一个是存储中(仍为fp32数值),另一个是运行时(根据量化算子转到int8计算)

(3)不要搞混了,一个模型在本地磁盘的占用,一个模型运行时占用的内存(显存),这是两个概念级的东西。比如虽然我们量化后的模型文件,本地磁盘占用变大了一些,但是实际运行时占用的显存(内存)是占用更少的!

五、参考文献

以下文章我暂时也没有时间去细看。

(1)模型量化综述及应用-云社区-华为云

(2)模型量化 - 简书 

(3)模型量化笔记 - 简书 

(4)如何减小机器学习模型的大小_AI_Amandeep Singh_InfoQ精选文章 

(5)【技术解析】模型量化压缩,为AI(爱)发电! 

(6)模型量化了解一下? - 知乎 

(7)深度学习神经网络的模型量化_开源蜂鸟E203_RISC-V论坛讨论_RISC-V MCU中文社区

(8)github链接

(9)AI算力的阿喀琉斯之踵:内存墙_OneFlow一流科技有限公司 

(10)Paddle Lite 

(11)极市开发者平台-计算机视觉算法开发落地平台 

(12)性能不打折,内存占用减少90%,Facebook提出极致模型压缩方法Quant-Noise - 腾讯云开发者社区-腾讯云(13)TensorFlow 模型优化:模型量化 - 技术分享 - tf.wiki 社区 

(14)模型量化(1):模型量化简介 - 飞桨AI Studio

(15)算法原理 — PaddleSlim 文档 

(16)模型量化系列 | 模型量化简介及PPQ初探 - 墨天轮 

(17)https://www.toutiao.com/article/6776432142281867788/ 

(18)int8模型量化内存占用极大 - MXNet Gluon - MXNet / Gluon 论坛 

(19)码道人

(20)深度学习之模型量化 - 大大通

 (21)利用 NVIDIA TensorRT 量化感知训练实现 INT8 推理的 FP32 精度 - NVIDIA 技术博客

(22)通用目标检测开源框架YOLOv6在美团的量化部署实战 - 美团技术团队 

(23)自动驾驶中神经网络模型量化技术:INT8还是INT4? - 与非网 

(24)模型量化概述 - 智源社区 

(25)定点量化 

(26)https://www.nxp.com.cn/docs/zh/training-reference-material/TIP-MACHINE-LEARNING-TOOLCHAIN-2.pdf (27)三张图看懂深度学习模型加速及压缩 - 脉脉

(28)深度学习模型压缩与加速综述 

(29)量化(Quantization) — MegEngine 1.11 文档 

(30)PyTorch模型量化工具学习-技术圈 

(31)深度学习中神经网络模型的量化 - davidtym - 博客园 

(32)https://segmentfault.com/a/1190000022639675 

(33)全网最全-网络模型低比特量化-低调大师 

(34)神经网络模型量化方法简介 | 听见下雨的声音 

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

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

相关文章

Linux系统中驱动格式基本实现

大家好,今天主要和大家聊一聊,编写Linux驱动格式与方法。 目录 第一:基本格式实验 1、编写外设结构体 2、定义IO复用寄存器组的基地址 3、定义访问指针 第二:实验程序编写 第一:基本格式实验 可以利用模仿C语言中结构…

第二十三章 原型链

一、原型链 1、含义:就是对象的访问机制。从任何一个数据类型触发,由_proto_串联起来的链状结构,就是原型链 2、原型对象 :是函数天生自带的一个属性 , prototype 是一个对象数据类型 3、对象原型: 是对象天生自带的…

数字化门店| 瑜伽馆管理系统小程序| 小程序开发教程

随着悦己消费及对自身形象的高需求增加,越来越多的女性加入了瑜伽队列,对需求者而言,在同城找到合适的场馆或专业的老师不太容易,毕竟瑜伽教练证很好考,门槛低,不少场馆的教练老师略显不专业。对商家来说&a…

前端部署iis后axios跨域请求问题

一. 安装 ARR 3.0(Application Request Routing) 访问 IIS 官方网站:https://www.iis.net/downloads/microsoft/application-request-routing ,有两种安装方式。 一,通过 Web 平台安装程序(Web Platform …

2023年天津/辽宁/安徽/北京DAMA-CDGA/CDGP数据治理认证报名

DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业…

光源基础(3)——光的折射反射偏振原理

费马原理 费马原理:光线沿光程为平稳值的路径传播。 光场中从P点到Q点,一条实际光线满足其路径积分泛函的变分为0,即如下条件: 路径积分的平稳值是相对于临近路径积分值相对而言的,有三种基本含义: 极小值:这是最常见的情形(光的直线传播、…

Allegro如何制作routekeepin操作指导

Allegro如何制作routekeepin操作指导 Allegro上可以快捷的制作Route keepin ,让Cline以及铜皮都在routekeepin里面,以下图板框为例 具体操作如下 选择Edit-Z-copy命令 Options选择画在Route keepin-All层 Size选择Contract Offset输入19.8 相对于板框内缩0.5mm Find选择…

hive补全连续或非连续空值数据sql

目录 一、背景 二、测试数据准备 三、实现 一、背景 爬虫或业务场景运行中经常会出现丢数据的情况,可能随机丢一分钟,或者丢几十分钟,完全没有规律,如果想用上一个有效值来补全的话单纯用lag函数无法实现 二、测试数据准备 c…

骑行适合戴什么耳机,几款适合在骑行过程佩戴的耳机推荐

耳机的诞生解决了在封闭场合下需要接收声音的问题,因此更多的人也是对耳机产生了依赖,不管在什么场景下都需要耳机的陪伴,随着关于耳道病疾也愈发严重。而新型的骨传导耳机因为自身不入耳的特性,也是逐步受到更多的人喜爱&#xf…

Linux环境下MySQL的数据目录

MySQL的数据目录 数据库文件的存放路径 MySQL数据库文件的存放路径: /var/lib/mysqlmysql> show variables like datadir; -------------------------------- | Variable_name | Value | -------------------------------- | datadir | /var/…

Python 采集109个中国风风格PPT

PPT下载链接:https://pan.baidu.com/s/1PJ671YEj6M9khtdhh6TSxA?pwdg37t 提取码:g37t 源码下载链接:ppt.rar - 蓝奏云 采集的参数 page_count 1 # 每个栏目开始业务content"text/html; charsetgb2312"base_url "https:…

RabbitMQ中的集群架构介绍

文章目录前言一、普通集群(副本集群)1.架构图二、镜像集群1.架构图前言 在之前我们是以单节点的形式来运行mq。在真正的生产实践中,mq主要用来完成两个应用系统间的通信,如果在某一时刻mq宕机了,会导致系统瘫痪,就是无法进行通信…

美中嘉和在港交所招股书失效:去年亏损约5亿元,杨建宇为实控人

12月1日,贝多财经从港交所披露易了解到,美中嘉和医学技术发展集团股份有限公司(下称“美中嘉和”)的上市申请材料失效,目前已无法正常查看或下载。据贝多财经了解,美中嘉和于2022年5月31日在港交所递表。 公…

C++STL——vector类与模拟实现

vector类vector常用接口介绍初始化reserve与resizeassign缩容接口算法库中的findvector的底层小部分框架模拟实现vectot模拟vector的整体代码迭代器失效问题深层深浅拷贝问题vector vector是表示可变大小数组的序列容器,就像数组一样,采用连续存储空间来存储元素&a…

Three.js初识:渲染立方体、3d字体、修改渲染背景颜色

用场景对three.js进行渲染:场景、相机、渲染器 const scene new THREE.Scene(); const camera new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );const renderer new THREE.WebGLRenderer(); renderer.setSize( window.i…

[附源码]Python计算机毕业设计Django基于web的建设科技项目申报管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

【内网安全】——Linux信息收集

作者名:Demo不是emo 主页面链接:主页传送门 创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷座…

ContentResolver.query流程分析

文章目录1.Context.getContentResolver()2.ContentResolver.query()3.ContentProviderProxy.query()4.Transport.query()总结增删改查ContentProvider时,通过Binder实现ContentProvider在App进程启动时进行实例化,具体时机是在Application.onCreate()执行…

项目构建生命周期与插件

项目构建生命周期描述的是一次构建过程经历了多少个事件。 maven对项目构建的生命周期划分为3套: clean:清理工作。 default:核心工作,例如编译、测试、打包、部署等。 site:产生报告,发布站点等。 clean生…

工具-Obsidian生产力工具,安装第三方插件(GitHub)教程,以安装Syntax Highlight(代码高亮)为例

文章目录1、去GitHub上找到你需要的插件2、下载到本地3、在obsidian中新建文件4、将下载好的GitHub文件放置文件夹5、obsidian中设置6、插入代码块实例1、去GitHub上找到你需要的插件 在GitHub的搜索框中,直接搜索obsidian 插件名,obsidianSyntax Highl…