量化注意事项和模型设计思想

量化的注意事项

1、量化检测器时,尽量不要对Detect Head进行量化,一旦进行量化可能会引起比较大的量化误差;
2、量化模型时,模型的First&Second Layer也尽可能不进行量化(精度损失具有随机性);
3、TensorRT只支持对称量化,因此Zero-Point为0;
4、PTQ的结果一般比TensorRT的结果好,同时更具有灵活性,可以进行局部量化(因为TensorRT时性能优先);
5、Resize和add操作可能会引入混合精度节点,这可能也是后面TensorRT改进和优化的点;
6、激活函数的量化对精度没有影响(ReLU/ReLU6等),因此使用per_tensor粗粒度量化即可;
7、随机量化并不能提高精度;
8、量化粒度越细精度越高,相应计算复杂度也就越高,速度越慢;一般使用per_channels即可;
9、Depth-wise Conv可能会破坏截断误差与舍入误差的平衡,进而影响精度;
10、BN层与Conv的融合可能会对per_tensor量化有所影响,但是对于per_channel没有影响;
11、MobileNet系列中的深度可分离卷积的量化误差比较大,需要进行局部量化;
12、卷积/转置卷积的量化选择per_tensor与per_channel均可。
13、参数量大的网络模型对于量化加速更加鲁棒;
14、非对称的per_channel量化能够提高精度(TensorRT不支持,其他框架支持);
15、语义分割一般PTQ即可满足量化精度的要求,因为本质是逐像素分类;
16、pytorch-quantization本身的initialize不建议使用,最好使用本次实践中的方法更为灵活;
17、多分支结构并不利于QAT的训练,QAT办法缓解PTQ的精度丢失。

模型的设计原则

1、模型涉及和改进避免多分支结构,如果项目中使用了多分支结构,建议使用结构重参思想;
2、如果使用了结构重参,同时PTQ不能满足要求,QAT也不能缓解,建议使用梯度先验的形式RepOpt;
3、YOLOv6中的上采样使用TransposeConv比YOLOv5中使用的Upsample更适合进行量化,因为使用Upsample在转为Engine的时候,TensorRT会模型将其转为混合精度的Resize,影响性能;
4、在自己设计Block的时候,应该更多考虑Block中的算子尽可能进行算子融合,YOLOv6这方面就是典范,值得多多学习。
5、如果模型中涉及到Plugin,使用局部量化跳过该层即可;

检测头与ADD

在这里插入图片描述
在这里插入图片描述

nn.Upsample

在这里插入图片描述
在这里插入图片描述

转置卷积

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【软件设计师06】数据结构与算法基础

数据结构与算法基础 考点:数组与矩阵、线性表、广义表、树与二叉树、图、排序与查找、算法基础与常见的算法 1. 数组 数组类型存储地址计算一维度数组a[n]a[i]的存储地址为ai*len二维数组a[m][n]a[i][j]的存储地址;按行存储:a(i*nj)*len&a…

Spring原理学习(二):Bean的生命周期和Bean后处理器

〇、前言 倘若是为了面试,请背下来下面这段: spring的bean的生命周期主要是创建bean的过程,一个bean的生命周期主要是4个步骤:实例化、属性注入、初始化、销毁。但是对于一些复杂的bean的创建,spring会在bean的生命周期…

如何搭建chatGPT4.0模型-国内如何用chatGPT4.0

国内如何用chatGPT4.0 在国内,目前可以通过以下途径使用 OpenAI 的 ChatGPT 4.0: 自己搭建模型:如果您具备一定的技术能力,可以通过下载预训练模型和相关的开发工具包,自行搭建 ChatGPT 4.0 模型。OpenAI提供了相关的…

旅游心得Traveling Experience

前言 加油 原文 旅游心得常用会话 ❶ Share photos of the trip with friends. 与朋友分享旅游的照片。 ❷ We’ll go to the Great Wall, if you prefer. 你如果愿意的话,我们去长城。 ❸ Would you go to the church or the synagogue or the mosque? 你会去教堂,犹太…

二结(4.11)IO流学习

FIle类只能对文件本身操作,不能读写文件里面存储的数据 文件保存的位置叫路径,而数据传输叫IO流 Java I/O流(Input/Output stream)在Java应用程序中用于读取和写入数据,可分为基本流和高级流两类 关于什么是输出流、…

CSC中加学者交换项目申报即将开始

3月31日,国家留学基金委(CSC)发布了2023-2024年度中加学者交换项目遴选通知。根据通知精神,选派规模:100人月,留学及资助期限:4-12个月,网上报名及申请受理时间为2023年4月11日至6月…

SpringCloud学习6(Spring Cloud Alibaba)断路器Sentinel熔断降级

文章目录服务熔断降级Sentinel高并发请求模拟(这里我们使用contiperf来进行测试)修改tomcat配置最大线程数引入测试依赖编写测试代码服务雪崩服务雪崩的容错方案(隔离、超时、限流、熔断、降级)隔离机制:超时机制&…

Baumer工业相机堡盟工业相机如何设置网口的IP地址(工业相机连接的网口设置IP地址步骤)

Baumer工业相机堡盟工业相机如何设置网口的IP地址(工业相机连接的网口设置IP地址步骤)Baumer工业相机Baumer工业相机设置网络端口IP地址匹配设置网络端口IP地址和工业相机IP地址匹配第一次打开CameraExplorer软件确认问题为IP地址不匹配问题打开网络连接…

C++ - 继承 | 菱形继承

之前的文章中我们简要的讲述了C中继承部分的知识,但是还没有完全的讲完,在本文中将会讲到菱形继承的问题。 复杂的菱形继承 单继承:一个子类只有一个直接父类时称这个继承关系为单继承。 多继承:一个子类有两个或以上直接父类时…

最新阿里、腾讯、华为、字节等大厂的薪资和职级对比,看看你差了多少...

互联网大厂新入职员工各职级薪资对应表(技术线)~ 最新阿里、腾讯、华为、字节跳动等大厂的薪资和职级对比 上面的表格不排除有很极端的收入情况,但至少能囊括一部分同职级的收入。这个表是“技术线”新入职员工的职级和薪资情况,非技术线(如产品、运营、…

Android基础四大组件之Activity的启动过程源码解析

前言 Activity是Android中一个很重要的概念,堪称四大组件之首,关于Activity有很多内容,比如生命周期和启动Flags,这二者想要说清楚,恐怕又要写两篇长文,更何况分析它们的源码呢。不过本文的侧重点不是它们…

面试官:你可以用 for of 遍历 Object 吗?

本文以 用 for of遍历 Object 为引 来聊聊 迭代器模式。 什么是迭代器模式 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。 ——《设计模式:可复用面向对象软件的基础》 可以说迭代器模式就是为了遍历存在的。提…

HTML5 <body> 标签

HTML <body> 标签 实例 一个简单的 HTML 文档&#xff0c;包含尽可能少的必需的标签&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>文档标题</title> </head><body> 文档内容…

单例设计模式解读

目录 单例设计模式介绍 单例设计模式八种方式 饿汉式&#xff08;静态常量&#xff09; 饿汉式&#xff08;静态代码块&#xff09; 懒汉式(线程不安全) 懒汉式(线程安全&#xff0c;同步方法) 懒汉式(线程安全&#xff0c;同步代码块) 懒汉式(线程安全&#xff0c;同步…

libcurl库的安装及使用说明

目录 一 libcurl库安装 ① 下载网址 ② libcurl库安装步骤 ③ libcurl等第三方库的通用编译方法 二 调用libcurl编程访问百度主页 ① 代码说明 ② 编译说明 ③ 执行说明 三 libcurl的使用说明 ① curl相关函数简介 ② curl_easy_setopt函数部分选项介绍 ③…

【AUTOSAR】【Can通信】CanSM

目录 一、概述 二、限制说明 三、功能说明 3.1 基础需求 3.2 CAN网络的状态机 3.3 错误分类 3.3.1 开发错误 3.3.2 运行错误 3.3.3 拓展生产错误 3.4 ECU在线主动/被动模式 四、API接口 4.1 API定义 4.2 调度接口 一、概述 该文档描述了AUTOSAR基本软件模块CAN状态…

2023年第十四届蓝桥杯Java_大学B组真题

Java_B组试题 A: 阶乘求和试题 B: 幸运数字试题 C: 数组分割试题 D: 矩形总面积试题 E: 蜗牛试题 F: 合并区域试题 G: 买二赠一试题 H: 合并石子试题 I: 最大开支试题 J: 魔法阵【考生须知】 考试开始后&#xff0c;选手首先下载题目&#xff0c;并使用考场现场公布的解压密码解…

编译技术-词法理论

一、文法的种类 1.1 分类定义 Chomsky 文法定义&#xff1a; G(V,Vt,P,Z)G (V, V_t, P, Z)G(V,Vt​,P,Z)VVV&#xff1a;符号集合VtV_tVt​&#xff1a;终结符号集合PPP &#xff1a;有穷规则集合ZZZ&#xff1a;是被符号&#xff0c;不能是终结符 关于不同文法的区别 类型…

【多线程与高并发(锁)】1、锁的概念、分类和状态

1、锁的概念 java当中的锁、是在多线程环境下为保证共享资源健康、线程安全的一种手段。 线程操作某个共享资源之前&#xff0c;先对资源加一层锁&#xff0c;保证操作期间没有其他线程访问资源&#xff0c;当操作完成后&#xff0c;再释放锁。 2、锁的分类 Java中的锁按照…

ChatGPT对我们的影响-ChatGPT能给我们带来什么

ChatGPT日常应用 ChatGPT是一种应用广泛的自然语言处理算法&#xff0c;其可以应用于多种日常场景。以下是一些ChatGPT的日常应用&#xff1a; 聊天机器人&#xff1a;ChatGPT可用于构建聊天机器人&#xff0c;通过与用户进行自然语言交互来提供个性化的服务和支持。 新闻稿和…