• 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**起始版本:** 9
23
24**弃用:** 从API version 11开始,此接口废弃。
25
26**替代:** 推荐使用[NN_QuantParam](_neural_nework_runtime.md#nn_quantparam)。
27
28**相关模块:** [NeuralNeworkRuntime](_neural_nework_runtime.md)
29
30
31## 汇总
32
33
34### 成员变量
35
36| 名称 | 描述 |
37| -------- | -------- |
38| [quantCount](#quantcount) | 指定numBits、scale和zeroPoint数组的长度。在per-layer量化的场景下,quantCount通常指定为1,即一个张量所有通道 共享一套量化参数;在per-channel量化场景下,quantCount通常和张量通道数一致,每个通道使用自己的量化参数。 |
39| [numBits](#numbits) | 量化位数 |
40| [scale](#scale) | 指向量化公式中scale数据的指针 |
41| [zeroPoint](#zeropoint) | 指向量化公式中zero point数据的指针 |
42
43
44## 结构体成员变量说明
45
46
47### numBits
48
49```
50const uint32_t* OH_NN_QuantParam::numBits
51```
52
53**描述**
54
55量化位数
56
57
58### quantCount
59
60```
61uint32_t OH_NN_QuantParam::quantCount
62```
63
64**描述**
65
66指定numBits、scale和zeroPoint数组的长度。在per-layer量化的场景下,quantCount通常指定为1,即一个张量所有通道 共享一套量化参数;在per-channel量化场景下,quantCount通常和张量通道数一致,每个通道使用自己的量化参数。
67
68
69### scale
70
71```
72const double* OH_NN_QuantParam::scale
73```
74
75**描述**
76
77指向量化公式中scale数据的指针
78
79
80### zeroPoint
81
82```
83const int32_t* OH_NN_QuantParam::zeroPoint
84```
85
86**描述**
87
88指向量化公式中zero point数据的指针