Shortcuts

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 控制张量上的统计信息收集

  • dtype specifies the quantized dtype that is being emulated with fake-quantization,

    允许的值为 torch.qint8 和 torch.quint8。

Parameters
  • 观察器 (模块) – 用于观察输入张量的统计数据并计算缩放因子和零点。

  • observer_kwargs可选)——观察者模块的参数

Variables

activation_post_process (模块) – 用户提供的模块,用于收集输入张量的统计信息,并提供计算比例和零点的方法。

优云智算