• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# OH_NN_QuantParam
2
3
4## 概述
5
6量化信息。
7
8在量化的场景中,32位浮点型数据根据以下公式量化为定点数据:
9
10![zh-cn_formulaimage_0000001405137102](figures/zh-cn_formulaimage_0000001405137102.png)
11
12其中s和z是量化参数,在OH_NN_QuanParam中通过scale和zeroPoint保存,r是浮点数,q是量化后的结果,q_min是量化后下界,q_max是量化后的上界,计算方式如下:
13
14![zh-cn_formulaimage_0000001459019845](figures/zh-cn_formulaimage_0000001459019845.png)
15
16![zh-cn_formulaimage_0000001408820090](figures/zh-cn_formulaimage_0000001408820090.png)
17
18clamp函数定义如下:
19
20![zh-cn_formulaimage_0000001455538697](figures/zh-cn_formulaimage_0000001455538697.png)
21
22**起始版本:**
23
249
25
26**相关模块:**
27
28[NeuralNeworkRuntime](_neural_nework_runtime.md)
29
30
31## 汇总
32
33
34### 成员变量
35
36| 成员变量名称 | 描述 |
37| -------- | -------- |
38| [quantCount](#quantcount) | 指定numBits、scale和zeroPoint数组的长度。<br/>在per-layer量化的场景下,quantCount通常指定为1,即一个张量所有通道共享一套量化参数;在per-channel量化场景下,quantCount通常和张量通道数一致,每个通道使用自己的量化参数。 |
39| [numBits](#numbits) | 量化位数。 |
40| [scale](#scale) | 指向量化公式中量化参数s的指针。 |
41| [zeroPoint](#zeropoint) | 指向量化公式中量化参数z的指针。 |
42
43
44## 结构体成员变量说明
45
46
47### numBits
48
49
50```
51const uint32_t* OH_NN_QuantParam::numBits
52```
53
54**描述:**
55
56量化位数。
57
58
59### quantCount
60
61
62```
63uint32_t OH_NN_QuantParam::quantCount
64```
65
66**描述:**
67
68指定numBits、scale和zeroPoint数组的长度。
69
70在per-layer量化的场景下,quantCount通常指定为1,即一个张量所有通道 共享一套量化参数;在per-channel量化场景下,quantCount通常和张量通道数一致,每个通道使用自己的量化参数。
71
72
73### scale
74
75
76```
77const double* OH_NN_QuantParam::scale
78```
79
80**描述:**
81
82指向量化公式中scale数据的指针。
83
84
85### zeroPoint
86
87
88```
89const int32_t* OH_NN_QuantParam::zeroPoint
90```
91
92**描述:**
93
94指向量化公式中zero point数据的指针。
95