MCPcopy
hub / github.com/OpenPPL/ppq / LinearQuantizationConfig

Function LinearQuantizationConfig

ppq/lib/quant.py:106–134  ·  view source on GitHub ↗

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)

Source from the content-addressed store, hash-verified

104
105
106def 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
137def FloatingQuantizationConfig(

Callers 4

__init__Method · 0.90
__init__Method · 0.90
__init__Method · 0.90
test_isotone.pyFile · 0.90

Calls 2

QuantizationPolicyClass · 0.90

Tested by

no test coverage detected