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 orDTypeWithConstraints“weight_dtype”: torch.dtype orDTypeWithConstraints“bias_type”: torch.dtype “is_dynamic”: bool
- Тип возвращаемого значения:
-
-
to_dict()[source] -
Преобразует этот
DTypeConfigв словарь с элементами, описанными вfrom_dict().
-
© 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