Spec-Zone.ru › PyTorch 2.14

DTypeConfig

class torch.ao.quantization.backend_config.DTypeConfig(input_dtype=None, output_dtype=None, weight_dtype=None, bias_dtype=None, is_dynamic=None) [source]

Объект конфигурации, задающий поддерживаемые типы данных, передаваемые в качестве аргументов операциям квантования в спецификации эталонной модели для входных и выходных активаций, весов и смещений.

Например, рассмотрим следующую эталонную модель:

quant1 - [dequant1 - fp32_linear - quant2] - dequant2

Шаблон в квадратных скобках обозначает эталонный шаблон статически квантованного линейного слоя. Указание входного типа данных как torch.quint8 в DTypeConfig означает, что в качестве аргумента dtype первой операции квантования (quant1) передаётся torch.quint8. Аналогично, указание выходного типа данных как torch.quint8 означает, что в качестве аргумента dtype второй операции квантования (quant2) передаётся torch.quint8.

Обратите внимание, что указанный здесь dtype не относится к типам данных интерфейса операции. Например, «входной dtype» здесь — это не dtype входного тензора, передаваемого операции квантованного линейного слоя. Хотя он может совпадать с типом данных интерфейса, это происходит не всегда: например, при динамическом квантовании тип данных интерфейса — fp32, но «входной dtype», указанный в DTypeConfig, по-прежнему будет quint8. Семантика dtype здесь такая же, как семантика dtype, указанного в наблюдателях.

Эти типы данных сопоставляются с типами, указанными в QConfig пользователя. Если найдено совпадение и QConfig удовлетворяет ограничениям, заданным в DTypeConfig (если они есть), заданный шаблон будет квантован с использованием этой DTypeConfig. В противном случае QConfig игнорируется, а шаблон не будет квантован.

Пример использования:

>>> dtype_config1 = DTypeConfig(
...     input_dtype=torch.quint8,
...     output_dtype=torch.quint8,
...     weight_dtype=torch.qint8,
...     bias_dtype=torch.float)

>>> dtype_config2 = DTypeConfig(
...     input_dtype=DTypeWithConstraints(
...         dtype=torch.quint8,
...         quant_min_lower_bound=0,
...         quant_max_upper_bound=255,
...     ),
...     output_dtype=DTypeWithConstraints(
...         dtype=torch.quint8,
...         quant_min_lower_bound=0,
...         quant_max_upper_bound=255,
...     ),
...     weight_dtype=DTypeWithConstraints(
...         dtype=torch.qint8,
...         quant_min_lower_bound=-128,
...         quant_max_upper_bound=127,
...     ),
...     bias_dtype=torch.float)

>>> dtype_config1.input_dtype
torch.quint8

>>> dtype_config2.input_dtype
torch.quint8

>>> dtype_config2.input_dtype_with_constraints
DTypeWithConstraints(dtype=torch.quint8, quant_min_lower_bound=0, quant_max_upper_bound=255, scale_min_lower_bound=None, scale_max_upper_bound=None)
classmethod from_dict(dtype_config_dict) [source]
Create a DTypeConfig from a dictionary with the following items (all optional):

“input_dtype”: torch.dtype or DTypeWithConstraints “output_dtype”: torch.dtype or DTypeWithConstraints “weight_dtype”: torch.dtype or DTypeWithConstraints “bias_type”: torch.dtype “is_dynamic”: bool

Тип возвращаемого значения:

DTypeConfig

to_dict() [source]

Преобразует этот DTypeConfig в словарь с элементами, описанными в from_dict().

Тип возвращаемого значения:

dict[str, Any]

© 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.backend_config.DTypeConfig.html

Spec-Zone.ru

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