快捷方式

BackendPatternConfig

class torch.ao.quantization.backend_config.BackendPatternConfig(pattern=None)[source][source]

配置对象,指定给定算子模式的量化行为。有关详细用法示例,请参见 BackendConfig

add_dtype_config(dtype_config)[source][source]

添加一组支持的数据类型,这些数据类型作为参数传递给参考模型规范中的量化操作。

返回类型

BackendPatternConfig

classmethod from_dict(backend_pattern_config_dict)[source][source]

从一个字典创建 BackendPatternConfig,字典包含以下项

“pattern”: 正在配置的模式 “observation_type”: 指定如何为该模式插入观察者的 ObservationType “dtype_configs”: 表示 DTypeConfig 列表的字典列表 “root_module”: 表示该模式根部的 torch.nn.Module “qat_module”: 表示该模式 QAT 实现的 torch.nn.Module “reference_quantized_module”: 表示该模式根模块的参考量化实现的 torch.nn.Module “fused_module”: 表示该模式融合实现的 torch.nn.Module “fuser_method”: 指定如何融合该模式的函数 “pattern_complex_format”: 以反向嵌套元组格式指定的模式 (已弃用)

返回类型

BackendPatternConfig

set_dtype_configs(dtype_configs)[source][source]

设置作为参数传递给参考模型规范中量化操作的支持数据类型,覆盖所有先前注册的数据类型。

返回类型

BackendPatternConfig

set_fused_module(fused_module)[source][source]

设置表示该模式融合实现的模块。

返回类型

BackendPatternConfig

set_fuser_method(fuser_method)[source][source]

设置指定如何融合此 BackendPatternConfig 模式的函数。

该函数的第一个参数应为 is_qat,其余参数应为元组模式中的项。该函数的返回值应为融合后的模块。

例如,模式 (torch.nn.Linear, torch.nn.ReLU) 的融合函数可以是

def fuse_linear_relu(is_qat, linear, relu)

return torch.ao.nn.intrinsic.LinearReLU(linear, relu)

有关更复杂的示例,请参见 https://gist.github.com/jerryzh168/8bea7180a8ba3c279f2c9b050f2a69a6

返回类型

BackendPatternConfig

set_observation_type(observation_type)[source][source]

设置如何将观察者插入到此模式的图中。

此处观察类型指的是如何在图中放置观察者(或量化-反量化操作)。这用于生成后端理解的所需参考模式。加权操作(例如线性层和卷积层)对于输入和输出需要不同的观察者(或传递给参考模型中量化操作的量化参数)。

有两种观察类型

OUTPUT_USE_DIFFERENT_OBSERVER_AS_INPUT (默认): 输出观察者实例将与输入不同。这是最常见的观察类型。

OUTPUT_SHARE_OBSERVER_WITH_INPUT: 输出观察者实例将与输入相同。这对于像 cat 这样的算子很有用。

注意:这将在不久的将来重命名,因为我们很快将插入带有观察者(和伪量化)的 QuantDeQuantStubs,而不是直接插入观察者本身。

返回类型

BackendPatternConfig

set_pattern(pattern)[source][source]

设置要配置的模式。

模式可以是浮点模块、函数式算子、PyTorch 算子或以上各项的元组组合。元组模式被视为序列模式,目前仅支持由 2 或 3 个元素组成的元组。

返回类型

BackendPatternConfig

set_qat_module(qat_module)[source][source]

设置表示此模式 QAT 实现的模块。

返回类型

BackendPatternConfig

set_reference_quantized_module(reference_quantized_module)[source][source]

设置表示此模式根模块的参考量化实现的模块。

有关更多详细信息,请参见 set_root_module()

返回类型

BackendPatternConfig

set_root_module(root_module)[source][source]

设置表示此模式根部的模块。

在转换阶段构建参考量化模型时,根模块(例如 torch.nn.Linear 对应 torch.ao.nn.intrinsic.LinearReLU)将被替换为相应的参考量化模块(例如 torch.ao.nn.reference.quantized.Linear)。这允许自定义后端指定自定义参考量化模块实现,以匹配其底层算子的数值。由于这是一对一映射,根模块和参考量化模块都必须在同一个 BackendPatternConfig 中指定,才能完成转换。

返回类型

BackendPatternConfig

to_dict()[source][source]

将此 BackendPatternConfig 转换为一个字典,字典包含 from_dict() 中描述的项。

返回类型

dict[str, Any]

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源