FakeQuantize¶
- class torch.ao.quantization.fake_quantize.FakeQuantize(observer=<class 'torch.ao.quantization.observer.MovingAverageMinMaxObserver'>, quant_min=None, quant_max=None, is_dynamic=False, **observer_kwargs)[源代码]¶
- 在训练时间内模拟量化和反量化操作。 - 该模块的输出由以下公式给出: - x_out = ( clamp(round(x/scale + zero_point), quant_min, quant_max) - zero_point ) * scale - is_dynamic表示伪量化是动态量化操作符(choose_qparams -> q -> dq)的占位符还是静态量化操作符(q -> dq)的占位符
- scale定义用于量化的比例因子。
- zero_point指定了浮点数0映射到的量化值
- fake_quant_enabled控制对张量应用伪量化,注意统计信息仍然可以更新。
- observer_enabled控制张量上的统计信息收集
- dtypespecifies the quantized dtype that is being emulated with fake-quantization,
- 允许的值为 torch.qint8 和 torch.quint8。 
 
 - Parameters
- 观察器 (模块) – 用于观察输入张量的统计数据并计算缩放因子和零点。 
- observer_kwargs(可选)——观察者模块的参数 
 
- Variables
- activation_post_process (模块) – 用户提供的模块,用于收集输入张量的统计信息,并提供计算比例和零点的方法。 
 
