FakeQuantize
- 类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
控制张量的统计收集功能 -
-
dtype
指定了通过伪量化模拟的量化数据类型。 -
允许的值有 torch.qint8 和 torch.quint8。
-
- 参数
-
-
observer (模块) – 用于观察输入张量的统计信息,并计算缩放因子和零点的模块。
-
observer_kwargs (可选) – 传递给观察器模块的参数
-
- 变量
-
activation_post_process (Module) — 用户提供的模块,用于收集输入张量的统计信息,并提供计算比例因子和零点的方法。
-