首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tensorflow如何进行量化和去量化?

Tensorflow如何进行量化和去量化?
EN

Stack Overflow用户
提问于 2017-01-10 08:21:39
回答 1查看 3.5K关注 0票数 6

根据博客"https://petewarden.com/2016/05/03/how-to-quantize-neural-networks-with-tensorflow/",Tensorflow在进入一个层之前对值进行量化。在被该层处理后,这些值被去量化。Tensorflow通过将值重新标度在0到255之间来量化值,因此需要保持"min“和"max”来对值进行量化。

我想问: 1.如何确定“量化”运算输出中的“最小”和“最大”?我的意思是,如果我们简单地找到最小值和最大值,并将它们设置为0和255,那么在进行卷积时,我们就会得到数据溢出或下溢。2.如何确定“卷积”运算输出中的“最小”和“最大”?重量和激活都是量化的,所以有两组"min“和"max”。卷积运算如何将它们组合成一组"min“和"max"?

EN

回答 1

Stack Overflow用户

发布于 2017-07-18 18:07:30

TensorFlow使用i.a.用于低精度矩阵乘法的宝石。虽然使用8位值作为输入,但中间结果是32位值.在返回结果之前,这些32位值被转换回8位。

来自https://github.com/google/gemmlowp/blob/master/doc/low-precision.md

为了避免溢出,我们在内部累积超过8位的结果,最后我们只保留一些重要的8位。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41564212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档