神经网络量化----为了部署而特别设计

引言:一般神经网络量化有两个目的:

  1. 为了加速,在某些平台上浮点数计算比较耗费时间,替换为整形可以加快运算
  2. 为了部署,某些平台上只支持整形运算,比如在芯片中

如果是第1个目的,则使用常规的量化手段就可以满足,将浮点数运算变成整形运算+较少的浮点运算

但是如果是第2个目的,那就需要对量化手段做一下改变。

如果是初学者,大家可以先看我的另一篇博客,这里有详细介绍【精选】神经网络量化----吐血总结-CSDN博客量化技术是连接学院派和工程派之间的桥梁,效果再好的网络速度不快,那么也不会在工业上普及,因此量化技术还是很有发展潜力的。_神经网络量化https://blog.csdn.net/weixin_41910772/article/details/109637956

目录

 1. 关于量化,我们需要了解哪些可以人为设计

1.1 缩放因子

1.2 权重初始化

1.3 损失

1.4 标签的变换

1.5 s设置后的收敛问题


 

 

 1. 关于量化,我们需要了解哪些可以人为设计

1.1 缩放因子

        以对称量化举例,输入、权重、输出可以表示为

                        x=x_{q}/s_{1}w=w_{q}/s_{2}y=y_{q}/s_{3}

        在训练时设置约束,可以将他们的关系表示为

        ​​​​​​​        ​​​​​​​        y_{q}/s_{3}=f(w_{q}*x_{q}/s_{1}/s_{2})

        其中的f可以为四舍五入、向下取整或者向上取整,变换一下或许更加清晰:

                        y_{q}=f(w_{q}*x_{q}*\frac{s_{3}}{s_{1}*s_{2}})

        那么如果你的平台只支持整形的四则运算以及移位操作,而{s_{3}}/({s_{1}*s_{2}})是个浮点数,那么就需要对{s_{3}}/({s_{1}*s_{2}})做一个巧妙的设计,比如在训练时直接将这个比值表示为a*2^b,这样就将与浮点数的运算表示为与整形的乘法和移位操作了,又或者将s都限制为2^m,这样就将与浮点数的运算表示为移位操作了。

1.2 权重初始化

        为了配合1.1中的对s做限制,初始化是个关键的步骤,好的初始化可以快速收敛,我个人比较喜欢torch.nn.init.xavier_normal_,这个初始化会根据扇入扇出来使得输入输出的方差保持一致,这样s1,s3不会有太大的变动。

1.3 损失

        例如,在二分类中,通过的做法是最后一层使用sigmoid+BCE损失,由于sigmoid的存在会导致输入的分布过于分散,所以可以将sigmoid+BCE替换为MSE。

1.4 标签的变换

        为了配合s的设置,还需要将标签变换一下,使得输出分布尽量沿原点对称且集中,比如二分类中,标签为0、1,那么可以修改为-0.5,+0.5.

1.5 s设置后的收敛问题

        可以将溢出的数据的梯度设置为0。

2. 举例说明

接下来我会找一个典型的芯片部署的问题来进行说明,,,

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

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

相关文章

【财政金融】全国各地区财政收入与支出面板数据合集(2000-2022年)

数据简介:2000年到2022年中国经历了快速的经济发展和城市化进程,各地区的财政收入和支出也呈现出显著的增长和变化,全国各地区财政收入与支出的面板数据可用于评估经济发展水平和区域差距,通过比较不同地区之间的财政收入和支出水…

来来来,降温啦给女儿这么穿,好看又保暖

家人们谁懂啊!!! 时尚百搭有气质的羽绒服 小编强烈推荐哦! 防风保暖设计加三防工艺 简直不要太哇塞 怎么穿都好看哦

机器人制作开源方案 | 行星探测车概述

1. 功能描述 行星探测车(Planetary Rover)是一种用于进行科学探索和勘测任务的无人车辆,它们被设计成能够适应各种复杂的地形条件和极端环境,以便收集数据、拍摄照片、采集样本等。行星探测车通常包含以下主要组件和功能&#xff…

抖音小程序制作源码系统 带完整搭建教程

在当今社交媒体时代,抖音作为一款备受欢迎的短视频应用,已经拥有了庞大的用户群体。与此同时,抖音小程序也成为了商家和开发者们关注的热点。今天小编就来给大家介绍一款抖音小程序制作源码系统,五分钟确实创建一个小程序。 系统特…

音乐播放器VHDL蜂鸣器数码管显示简谱,视频/代码

名称:音乐播放器数码管显示简谱蜂鸣器 软件:Quartus 语言:VHDL 代码功能: 设计音乐播放器,播放一首歌,使用开发板的蜂鸣器播放音乐,使用Quartus内的ROM IP核存储音乐文件,使用数…

《golang设计模式》第三部分·行为型模式-01-责任链模式(Chain of Responsibility)

文章目录 1 概念1.1 角色1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1 概念 责任链(Chain of Responsibility)是指将客户端请求处理的不同职责对象组成请求处理链。 客户端只需要将请求交付到该链上,而不需要关心链上含有哪些对象。请求…

首次建站用香港服务器有影响没?

​  对于首次租用香港服务器的朋友来说,难免会对它没有一个很清晰的认知。因此,本文就从香港服务器适用人群,以及建站影响,选择技巧上做一个全方位的解答。 1. 哪一类人群适合使用香港服务器建站? 做外贸业务的网站。香港走的国…

时间序列预测 Graph-WaveNet:Graph WaveNet for Deep Spatial-Temporal Graph Modeling

Graph-WaveNet Graph WaveNet for Deep Spatial-Temporal Graph Modeling1.概述2.提出问题 & 解决策略 & 模型结构3.实验结果 ** Graph WaveNet for Deep Spatial-Temporal Graph Modeling ** 1.概述 时空图建模是分析系统中各组成部分的空间关系和时间趋势的一项重…

上海市教委产学研教师沙龙成功举办,共研大模型AI人才培养与插件生态

10月15日,百度飞桨携手上海市教育委员会、上海市学位委员会、上海物联网行业协会联合举办的“AI大模型产学研融合创新”上海研究生导师沙龙,在百度飞桨(张江)人工智能产业赋能中心顺利召开。来自上海地区20位高校及科研机构在聘研…

正向代理与反向代理

正向代理 客户端想要直接与目标服务器连接,但是无法直接进行连接,就需要先去访问中间的代理服务器,让代理服务器代替客户端去访问目标服务器 反向代理 屏蔽掉服务器的信息,经常用在多台服务器的分布式部署上,像一些大型…

C#快速排序算法

快速排序实现原理 快速排序(Quick Sort)是一种常用的排序算法,它基于分治的思想,通过将一个无序的序列分割成两个子序列,并递归地对子序列进行排序,最终完成整个序列的排序。 其基本思路如下: 选…

屏幕录制视频编辑软件 Camtasia 2023 mac中文版软件功能

Camtasia 2023 mac是一款功能强大的屏幕录制和视频编辑软件,可以用于制作教育课程、演示文稿、培训视频等。它具有一系列工具和功能,包括屏幕录制、视频编辑、音频编辑、字幕、特效等,使用户可以轻松地创建高质量的视频内容。 Camtasia2023的…

计算机基础知识34

进程锁 # 锁在IT界很重要,不但在Python中出现,尤其是数据库中得锁更多,比如:表锁、行锁、 悲观锁、乐观锁、进程锁、互斥锁、递归锁、可重入锁、死锁等 # 保证安全 import time # 导入time,执行顺序乱了 from…

服务CPU异常飙高问题分析和解决

📢📢📢📣📣📣 哈喽!大家好,我是「奇点」,江湖人称 singularity。刚工作几年,想和大家一同进步🤝🤝 一位上进心十足的【Java ToB端大厂…

1208. 翻硬币

题目: 1208. 翻硬币 - AcWing题库 思路: 1.对于要求从A变化到B的这类题,可以采用开关控制的方法。 2.一次翻转连续两个硬币,求origin变为result 最少需要翻转多少次。我们在origin的两个硬币中间放一个开关,开关变换…

除静电感测型离子风棒在无尘车间中的应用

除静电感测型离子风棒是一种能够检测静电并及时释放离子的离子风棒,在无尘车间中应用非常广泛。以下是除静电感测型离子风棒在无尘车间中的应用: 防止静电干扰:在无尘车间中,静电干扰会影响电子元器件和仪器设备的正常工作&#x…

MySQL学习(八)——锁

文章目录 1. 锁概述2. 全局锁2.1 全局锁的必要性2.2 语法2.3 全局锁的特点 3. 表级锁3.1 表锁3.2 元数据锁3.3 意向锁3.4 自增锁 4. 行级锁4.1 介绍4.2 记录锁4.3 间隙锁4.4 临键锁 1. 锁概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传…

2023亚马逊下半年的旺季选品攻略,黑五网一圣诞爆单机会不再错过

万圣节、黑五、网一和圣诞节是西方重要销售活动,也是跨境电商的一场重要考试,相对于国内的双十一双十二,这些节日的形成更为久远,需求也更加深入人心!卖家需要根据市场需求和竞争情况选择细分品类,为更好的…

LabVIEW建立生产者消费者

LabVIEW建立生产者消费者 生产者/消费者设计模式由并行循环组成,这些循环分为两类:生产者循环和消费者循环。生产者循环和消费者循环间的通信可以使用队列或通道连线来实现。 队列 LabVIEW内置的队列操作VI可在函数选板>>数据通信>>队列操…

Nginx正向代理,反向代理,负载均衡

Nginx正向代理,反向代理,负载均衡 Nginx当中有两种代理方式: 七层代理(http协议) 四层代理(tcp/udp流量转发) 七层代理:七层代理,代理的是http的请求和响应 客户端请求…