Spec-Zone.ru › PyTorch 2.14

MovingAverageMinMaxObserver

class torch.ao.quantization.observer.MovingAverageMinMaxObserver(averaging_constant=0.01, dtype=torch.quint8, qscheme=torch.per_tensor_affine, reduce_range=False, quant_min=None, quant_max=None, eps=1.1920928955078125e-07, is_dynamic=False, **kwargs) [исходный код]

Модуль-наблюдатель для вычисления параметров квантования на основе скользящего среднего минимальных и максимальных значений.

Этот наблюдатель вычисляет параметры квантования на основе скользящих средних минимальных и максимальных значений входящих тензоров. Модуль записывает средние минимальные и максимальные значения входящих тензоров и использует эту статистику для вычисления параметров квантования.

Параметры:
  • averaging_constant – Константа усреднения для минимума/максимума.
  • dtype – Аргумент dtype для узла quantize, необходимого для реализации спецификации эталонной модели.
  • qscheme – Используемая схема квантования
  • reduce_range – Уменьшает диапазон квантованных данных на 1 бит
  • quant_min – Минимальное значение квантования. Если не указано, используется конфигурация для 8 бит.
  • quant_max – Максимальное значение квантования. Если не указано, используется конфигурация для 8 бит.
  • eps (Tensor) – Значение эпсилон для float32. По умолчанию — torch.finfo(torch.float32).eps.

Скользящее среднее минимума/максимума вычисляется следующим образом

xmin={min⁡(X)if xmin=None(1−c)xmin+cmin⁡(X)otherwisexmax={max⁡(X)if xmax=None(1−c)xmax+cmax⁡(X)otherwise\begin{array}{ll} x_\text{min} = \begin{cases} \min(X) & \text{if~}x_\text{min} = \text{None} \\ (1 - c) x_\text{min} + c \min(X) & \text{otherwise} \end{cases}\\ x_\text{max} = \begin{cases} \max(X) & \text{if~}x_\text{max} = \text{None} \\ (1 - c) x_\text{max} + c \max(X) & \text{otherwise} \end{cases}\\ \end{array}

где xmin/maxx_\text{min/max} — скользящее среднее минимума/максимума, XX — входящий тензор, а cc — averaging_constant.

Масштаб и нулевая точка вычисляются так же, как в MinMaxObserver.

Примечание

Работает только со схемой квантования torch.per_tensor_affine.

Примечание

Если текущее минимальное значение равно текущему максимальному значению, масштаб и zero_point устанавливаются равными 1.0 и 0.

© 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.MovingAverageMinMaxObserver.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API