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