harmony 鸿蒙QuantParam
QuantParam
概述
量化参数结构体。
相关的公式如下,q为量化后的参数,r为真实参数,$ r{max} $为待量化数据的最大值,$ r{min} $待量化数据的最小值,$ round(x) $为x四舍五入取整,$ clamp(x,min,max) $为如下运算:
$ \text{clamp}(x,min,max) = \begin{cases} \text{max} & \text{ if } x > \text{ max } \ \text{min} & \text{ if } x < \text{ min } \ x & \text{ otherwise } \ \end{cases} $
浮点到定点的量化公式: $ \text{q}(x_i) = clamp(round(\frac{r}{scale}+zeroPoint), min , max) $
定点到浮点的反量化公式: $ \text{r}= (q-zeroPoint)*scale $
量化参数scale由如下公式计算: $ scale = \frac{r{max}-r{min}}{q{max}-q{min}} $
量化参数zeroPoint由如下公式计算: $ zeroPoint = round(q{min}-\frac{r{min}}{scale}) $
量化参数 ( q{min},q{max} ) 如下公式计算: $ q_{min} = -(1<<(numBits-1)) $
$ q_{max} = (1<<(numBits-1))-1 $
特殊情况:当$ r{min} $和$ r{max} $同时为0时,scale 和 zeroPoint均为0。
Since:
3.2
Version:
1.0
相关模块:
汇总
Public 属性
名称 | 描述 |
---|---|
numBits | int 量化的bit数 |
zeroPoint | int 零值 |
scale | double 量化器的步长 |
类成员变量说明
numBits
int QuantParam::numBits
描述:
量化的bit数
scale
double QuantParam::scale
描述:
量化器的步长
zeroPoint
int QuantParam::zeroPoint
描述:
零值
你可能感兴趣的鸿蒙文章
harmony 鸿蒙ActivityRecognitionTypes.idl
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦