评价此页

HistogramObserver#

class torch.ao.quantization.observer.HistogramObserver(bins=2048, dtype=torch.quint8, qscheme=torch.per_tensor_affine, reduce_range=False, quant_min=None, quant_max=None, factory_kwargs=None, eps=1.1920928955078125e-07, is_dynamic=False, **kwargs)[源代码]#

该模块记录张量值的运行直方图以及最小值/最大值。 calculate_qparams 将计算比例因子和零点。

参数
  • bins (int) – 用于直方图的箱数

  • dtype (dtype) – quantize 节点需要的 dtype 参数,用于实现参考模型规范

  • qscheme – Quantization scheme to be used

  • reduce_range – Reduces the range of the quantized data type by 1 bit

  • eps (Tensor) – Epsilon value for float32, Defaults to torch.finfo(torch.float32).eps.

比例因子和零点的计算如下:

  1. 创建输入张量的直方图。

    直方图是连续计算的,并且每个箱的范围会随着观察到的新张量而改变。

  2. 在直方图中搜索分布以获得最优的最小值/最大值。

    对最小值/最大值的搜索确保了与浮点模型相比,量化误差的最小化。

  3. 计算比例因子和零点,方法与

    MinMaxObserver