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вычислит scale и zero_point.- Параметры:
-
- bins (int) – Количество интервалов, используемых для гистограммы
-
dtype (dtype) – аргумент dtype для узла
quantize, необходимый для реализации спецификации эталонной модели - qscheme – Используемая схема квантования
- reduce_range – Уменьшает диапазон квантованного типа данных на 1 бит
-
eps (Tensor) – Значение эпсилон для float32. По умолчанию —
torch.finfo(torch.float32).eps.
Масштаб и нулевая точка вычисляются следующим образом:
-
- Создайте гистограмму входных данных.
-
Гистограмма вычисляется непрерывно, а диапазоны интервалов меняются с каждым новым наблюдаемым тензором.
-
- Найдите в распределении гистограммы оптимальные минимальные и максимальные значения.
-
Поиск минимальных и максимальных значений обеспечивает минимизацию ошибки квантования относительно модели с плавающей точкой.
-
- Вычислите масштаб и нулевую точку тем же способом, что и в
-
MinMaxObserver
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.ao.quantization.observer.HistogramObserver.html