Create a Linear Quantization Config. 创建线性量化配置信息。
(
symmetrical: bool = True,
dynamic: bool = False,
power_of_2: bool = False,
channel_axis: int = None,
quant_min: int = -128,
quant_max: int = 127,
num_of_bits = 8,
calibration: str = 'minmax',
rounding: RoundingPolicy = RoundingPolicy.ROUND_HALF_EVEN)
| 104 | |
| 105 | |
| 106 | def LinearQuantizationConfig( |
| 107 | symmetrical: bool = True, |
| 108 | dynamic: bool = False, |
| 109 | power_of_2: bool = False, |
| 110 | channel_axis: int = None, |
| 111 | quant_min: int = -128, |
| 112 | quant_max: int = 127, |
| 113 | num_of_bits = 8, |
| 114 | calibration: str = 'minmax', |
| 115 | rounding: RoundingPolicy = RoundingPolicy.ROUND_HALF_EVEN) -> TensorQuantizationConfig: |
| 116 | """ |
| 117 | Create a Linear Quantization Config. |
| 118 | |
| 119 | 创建线性量化配置信息。 |
| 120 | """ |
| 121 | |
| 122 | sym = QuantizationProperty.SYMMETRICAL if symmetrical else QuantizationProperty.ASYMMETRICAL |
| 123 | dyn = QuantizationProperty.DYNAMIC if dynamic else 0 |
| 124 | pw2 = QuantizationProperty.POWER_OF_2 if power_of_2 else 0 |
| 125 | chn = QuantizationProperty.PER_TENSOR if channel_axis is None else QuantizationProperty.PER_CHANNEL |
| 126 | |
| 127 | return TensorQuantizationConfig( |
| 128 | policy = QuantizationPolicy(sym + dyn + pw2 + chn + QuantizationProperty.LINEAR), |
| 129 | rounding = rounding, |
| 130 | num_of_bits = num_of_bits, |
| 131 | quant_min = quant_min, |
| 132 | quant_max = quant_max, |
| 133 | observer_algorithm = calibration, |
| 134 | channel_axis=channel_axis) |
| 135 | |
| 136 | |
| 137 | def FloatingQuantizationConfig( |
no test coverage detected