Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >TensorFlow量化感知训练量化节点附加参数的研究

TensorFlow量化感知训练量化节点附加参数的研究
EN

Stack Overflow用户
提问于 2020-05-06 06:15:20
回答 1查看 346关注 0票数 0

目前,我正试图理解量化感知的TensorFlow培训。据我所知,伪量化节点需要收集动态范围信息作为量化操作的校准。当我将同一模型与“普通”Keras模型和一次量化感知模型进行比较时,后者具有更多的参数,这是有意义的,因为我们需要在量化感知训练中存储激活的最小值和最大值。

请考虑以下示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import tensorflow as tf
from tensorflow.keras import layers
from tensorflow.keras.models import Model
def get_model(in_shape):
  inpt = layers.Input(shape=in_shape)
  dense1 = layers.Dense(256, activation="relu")(inpt)
  dense2 = layers.Dense(128, activation="relu")(dense1)
  out = layers.Dense(10, activation="softmax")(dense2)

  model = Model(inpt, out)

  return model

该模型有以下概述:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Model: "model"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_2 (InputLayer)         [(None, 784)]             0         
_________________________________________________________________
dense_3 (Dense)              (None, 256)               200960    
_________________________________________________________________
dense_4 (Dense)              (None, 128)               32896     
_________________________________________________________________
dense_5 (Dense)              (None, 10)                1290      
=================================================================
Total params: 235,146
Trainable params: 235,146
Non-trainable params: 0
_________________________________________________________________

但是,如果我使我的模型优化意识到,它会打印以下摘要:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import tensorflow_model_optimization as tfmot

quantize_model = tfmot.quantization.keras.quantize_model

# q_aware stands for for quantization aware.
q_aware_model = quantize_model(standard)

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

Model: "model"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_2 (InputLayer)         [(None, 784)]             0         
_________________________________________________________________
quantize_layer (QuantizeLaye (None, 784)               3         
_________________________________________________________________
quant_dense_3 (QuantizeWrapp (None, 256)               200965    
_________________________________________________________________
quant_dense_4 (QuantizeWrapp (None, 128)               32901     
_________________________________________________________________
quant_dense_5 (QuantizeWrapp (None, 10)                1295      
=================================================================
Total params: 235,164
Trainable params: 235,146
Non-trainable params: 18
_________________________________________________________________

我特别有两个问题:

  1. ,在输入层之后有3个参数的quantize_layer的目的是什么?
  2. ,为什么每个层有5个额外的不可训练参数,它们到底用于什么?

我很感激任何帮助我(和其他偶然发现这个问题的人)理解量化感知训练的提示或进一步的材料。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-10 19:13:00

  1. 量化层用于将浮点输入转换为int8。量化参数用于输出min/max和零点calculations.
  2. Quantized稠密层,需要一些附加参数:内核为min/max,输出激活为min/max/零点。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61637457

复制
相关文章
基于OneFlow实现量化感知训练
这篇文章主要是讲解一下量化感知训练的原理,以及基于OneFlow实现一个Demo级别的手动量化感知训练。
BBuf
2021/08/19
8560
INT8量化训练
【GiantPandaCV导读】本文聊了两篇做INT8量化训练的文章,量化训练说的与quantization-aware Training有区别,量化训练指的是在模型训练的前向传播和后向传播都有INT8量化。两篇文章都是基于对梯度构建分析方程求解得到解决量化训练会引起的训练崩溃和精度损失严重的情况。
BBuf
2021/04/30
1.1K0
INT8量化训练
【导读】本文聊了两篇做INT8量化训练的文章,量化训练说的与quantization-aware Training有区别,量化训练指的是在模型训练的前向传播和后向传播都有INT8量化。两篇文章都是基于对梯度构建分析方程求解得到解决量化训练会引起的训练崩溃和精度损失严重的情况。
LoBob
2021/06/06
1.3K0
INT8量化训练
TensorFlow 模型优化工具包  —  训练后整型量化
模型优化工具包是一套先进的技术工具包,可协助新手和高级开发者优化待部署和执行的机器学习模型。自推出该工具包以来,  我们一直努力降低机器学习模型量化的复杂性
磐创AI
2019/07/10
1.6K0
TensorFlow 模型优化工具包  —  训练后整型量化
量化分析因子研究
所谓的因子也就是某个衡量标准,选择不同的因子作为选股的参考,往往会得到不同的结果,本文简单介绍了一些因子以及它所表示的意义。
EmoryHuang
2022/10/31
8570
全新轻量化模型 | 轻量化沙漏网络助力视觉感知涨点
人体姿态估计(HPE)是计算机视觉中的一项经典任务,它主要通过识别人的关节的位置来表示人的方向。HPE可以用来理解和分析人类的几何和运动相关信息。Newell等人在Mask3D中提出的堆叠沙漏架构是第一个基于深度学习的HPE方法之一,因为经典方法在此之前主导了HPE文献。
集智书童公众号
2023/02/26
1.1K0
全新轻量化模型 | 轻量化沙漏网络助力视觉感知涨点
Winton:量化研究中的『实验研究』与『观察研究』
量化投资研究类似于自然科学研究,因为它试图通过对数据的实证分析来研究市场现象。研究人员通常使用为科学分析而开发的技术来预测市场走势并构建新的交易策略。
量化投资与机器学习微信公众号
2023/04/20
3370
Winton:量化研究中的『实验研究』与『观察研究』
​AdaRound:训练后量化的自适应舍入
在对神经网络进行量化时,主要方法是将每个浮点权重分配给其最接近的定点值。本文发现,这不是最佳的量化策略。本文提出了 AdaRound,一种用于训练后量化的更好的权重舍入机制,它可以适应数据和任务损失。AdaRound 速度很快,不需要对网络进行微调,仅需要少量未标记的数据。本文首先从理论上分析预训练神经网络的舍入问题。通过用泰勒级数展开来逼近任务损失,舍入任务被视为二次无约束二值优化问简化为逐层局部损失,并建议通过软松弛来优化此损失。AdaRound 不仅比舍入取整有显著的提升,而且还为几种网络和任务上的训练后量化建立了新的最新技术。无需进行微调,本文就可以将 Resnet18 和 Resnet50 的权重量化为 4 位,同时保持 1% 的精度损失。
AI异构
2021/03/09
2.2K0
浅谈机器学习、量化投资 与 TensorFlow
随着再度升级的AlphaGo战胜了柯洁大魔王,最近很多金融媒体又在热烈的讨论将人工智能运用到量化投资领域,小密圈和QQ群里也有很多朋友对此很好奇。 其实在80年代的时候,华尔街就已经将人工智能技术运用到投资上去了。最新技术第一应用场景肯定是金融投资领域。 最近一直在思考, 怎么才能给没有任何基础的人,深入浅出的讲解清楚人工智能? 当然想要完全理解后面的原理,肯定是需要投入很多时间,至少是硕士课程一个学期的学习量。 我希望能可以让大家对人工智能有个大致的概念,知道它可以做什么,实现的逻辑是什么,又有哪些局限,
数说君
2018/03/28
1.4K0
浅谈机器学习、量化投资 与 TensorFlow
深度学习框架量化感知训练的思考及OneFlow的一种解决方案
【GiantPandaCV导语】这篇文章分享的是笔者最近在OneFlow做的一个项目,将Pytorch FX移植到OneFlow之后实现了自动量化感知训练动态图模型(在Pytorch和OneFlow中都称为nn.Module)。现在用户可以在自己构建的nn.Module基础上,修改很少的代码即可完成从nn.Module量化感知训练到用TensorRT将量化感知训练后的模型部署到GPU上运行的完整链路。在TensorRT上推理是利用了ONNX作为中间表示,即Oneflow动态图模型(nn.Module)->OneFlow量化感知训练模型(nn.Module)->OneFlow静态图(nn.Graph)->ONNX->TensorRT。量化感知训练是基于支持在Eager下写Pass的FX模块(FX被Pytorch率先提出,笔者将其基础设施移植到了OneFlow)来完成的。读者如果想体验这个功能可以按照本文的方法进行操作,有任何使用上的问题可以联系笔者。
BBuf
2021/10/20
1K0
【Ubuntu】Tensorflow对训练后的模型做8位(uint8)量化转换
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
superhua
2019/10/22
1.8K0
【Ubuntu】Tensorflow对训练后的模型做8位(uint8)量化转换
ICML 2023 | 达成无振荡模型量化?港科,Meta 提出新的量化训练方式
随着现在模型越来越巨大,模型压缩也显得越来越重要。量化模型是模型压缩的其中一种算法,但在训练量化模型的时候,训练过程和模型训练结果会因为量化本身的离散性而产生一种模型权重振荡现象(Weight Oscillation Phenomenon)。之前只有一篇2022年高通的工作对于有对于权重振荡现象的研究,但他们的研究仅实验在了量化相对简单的CNN上。
AI科技评论
2023/09/07
4570
ICML 2023 | 达成无振荡模型量化?港科,Meta 提出新的量化训练方式
【Cubase】Cubase 量化设置 ( 量化预置 | 长度量化 | 快捷键设置 | 量化开头 | 量化 MIDI 事件结尾 | 量化 MIDI 事件长度 )
Cubase 中使用 MIDI 钢琴键盘输入的音符 , 其起始时间 , 持续时间 , 结束时间都不是很标准 , 如果显示成简谱就会很乱 ;
韩曙亮
2023/03/28
3.5K0
【Cubase】Cubase 量化设置 ( 量化预置 | 长度量化 | 快捷键设置 | 量化开头 | 量化 MIDI 事件结尾 | 量化 MIDI 事件长度 )
CNV的量化
Numeric focal-level Copy Number Variation (CNV) values were generated with "Masked Copy Number Segment" files from tumor aliquots using GISTIC2, on a project level.
生信技能树
2019/03/07
9800
海思NNIE之PFPLD训练与量化
之前写了关于海思NNIE的一些量化部署工作,笔者不才,文章没有写得很具体,有些内容并没有完全写在里面。好在目前看到了一些使用nniefacelib脱坑的朋友,觉得这个工程还是有些用的。为了完善这个工程,最近也增加一些一站式的解决方案。开始正题吧!
BBuf
2020/08/04
1.5K0
海思NNIE之PFPLD训练与量化
Quant 4.0:你的量化研究处于哪个时代?
在IDEA最新研究报告中首次提出了Quant 4.0的研究流程,在深度学习不断融入量化研究的时代,非常值得处于量化行业的我们仔细研读。
量化投资与机器学习微信公众号
2023/06/07
1.1K0
Quant 4.0:你的量化研究处于哪个时代?
MXNet实现卷积神经网络训练量化
深度学习在移动端的应用是越来越广泛,由于移动端的运算力与服务器相比还是有差距,所以在移动端部署深度学习模型的难点就在于如何保证模型效果的同时,运行效率也有保证。
BBuf
2020/03/20
1.2K0
MXNet实现卷积神经网络训练量化
量化参数(QP值)vs 恒定质量(CRF)
QP,Quantizer Parameter,量化参数,表明了图像空间细节的压缩情况。QP 值在一定程度上决定了图像质量。
liuzhen007
2022/01/07
4.9K0
量化参数(QP值)vs 恒定质量(CRF)
存储Tensorflow训练网络的参数
训练一个神经网络的目的是啥?不就是有朝一日让它有用武之地吗?可是,在别处使用训练好的网络,得先把网络的参数(就是那些variables)保存下来,怎么保存呢?其实,tensorflow已经给我们提供了很方便的API,来帮助我们实现训练参数的存储与读取,如果想了解详情,请看晦涩难懂的官方API,接下来我简单介绍一下我的理解。 保存与读取数据全靠下面这个类实现: class tf.train.Saver 当我们需要存储数据时,下面2条指令就够了 saver = tf.train.Saver() save_pat
用户1332428
2018/03/30
1.1K0
Q-YOLOP来啦 | 一个具有量化感知全景驾驶感知模型
全景感知系统是自动驾驶汽车的关键部件,使其能够全面感知和理解环境。这些系统同时解决了多个视觉任务,包括物体检测、车道线分割、可驾驶区域分割,并对道路场景产生了丰富的理解。
集智书童公众号
2023/09/04
5780
Q-YOLOP来啦 | 一个具有量化感知全景驾驶感知模型

相似问题

Tensorflow量化感知训练

145

Tensorflow Keras模型的量化感知训练

139

如何从TensorFlow的量化感知训练中获得量化权重

111

量化感知训练比后量化差

166

如何用tensorflow 1.15进行量化感知训练?

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文