快捷方式

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)[源代码][源代码]

该模块记录 tensor 值的运行直方图以及 min/max 值。calculate_qparams 将计算 scale 和 zero_point。

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

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

  • qscheme – 要使用的量化方案

  • reduce_range – 将量化数据类型的范围减小 1 位

  • eps (Tensor) – float32 的 Epsilon 值,默认为 torch.finfo(torch.float32).eps

scale 和 zero point 的计算如下

  1. 创建输入数据的直方图。

    直方图持续计算,每个 bin 的范围随每个新观察到的 tensor 而变化。

  2. 在直方图中搜索最优 min/max 值。

    min/max 值的搜索确保了相对于浮点模型的量化误差最小化。

  3. 以与以下方式相同的方式计算 scale 和 zero point:

    MinMaxObserver

文档

查阅 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源