快捷方式

BackendPatternConfig

class torch.ao.quantization.backend_config.BackendPatternConfig(pattern=None)[源代码]

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

add_dtype_config(dtype_config)[源代码]

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

返回类型

BackendPatternConfig

classmethod from_dict(backend_pattern_config_dict)[源代码]

从包含以下项目的字典创建 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)[源代码]

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

返回类型

BackendPatternConfig

set_fused_module(fused_module)[源代码]

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

返回类型

BackendPatternConfig

set_fuser_method(fuser_method)[源代码]

设置指定如何融合此 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)[源代码]

设置如何为此模式在图中插入观察者。

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

有两种观察类型

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

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

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

返回类型

BackendPatternConfig

set_pattern(pattern)[source]

设置要配置的模式。

模式可以是浮点模块、函数运算符、PyTorch运算符,或上述的元组组合。元组模式被视为顺序模式,目前仅支持 2 或 3 个元素的元组。

返回类型

BackendPatternConfig

set_qat_module(qat_module)[source]

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

返回类型

BackendPatternConfig

set_reference_quantized_module(reference_quantized_module)[source]

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

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

返回类型

BackendPatternConfig

set_root_module(root_module)[source]

设置代表此模式的根的模块。

在转换阶段构建参考量化模型时,根模块(例如,对于torch.ao.nn.intrinsic.LinearReLU的torch.nn.Linear)将被交换为相应的参考量化模块(例如,torch.ao.nn.reference.quantized.Linear)。这允许自定义后端指定自定义参考量化模块实现以匹配其降低操作符的数值。由于这是一对一的映射,因此必须在同一BackendPatternConfig中指定根模块和参考量化模块,以便进行转换。

返回类型

BackendPatternConfig

to_dict()[source]

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

返回类型

Dict[str, Any]

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深度教程

查看教程

资源

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

查看资源