• 文档 >
  • 量化 >
  • 量化 API 参考 >
  • 后端模式配置
快捷键

后端模式配置 ¶

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

指定给定操作符模式的量化行为的配置对象。有关详细使用示例,请参阅 BackendConfig

添加数据类型配置(dtype_config)[源代码][源代码] ¶

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

返回类型:

后端模式配置

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”:以反向嵌套元组格式指定的图案(已弃用)

返回类型:

后端模式配置

set_dtype_configs(dtype_configs)[source][source]

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

返回类型:

BackendPatternConfig

set_fused_module(fused_module)[source][source]

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

返回类型:

后端模式配置

set_fuser_method(fuser_method)[source][source]

设置指定如何融合此后端模式配置模式的函数。

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

例如,对于模式(torch.nn.Linear, torch.nn.ReLU)的 fuser 方法可以是:

def fuse_linear_relu(is_qat, linear, relu):

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

更复杂的例子,请参阅 https://gist.github.com/jerryzh168/8bea7180a8ba3c279f2c9b050f2a69a6。

返回类型:

后端模式配置

set_observation_type(observation_type)[source][source]

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

此处的观察类型指的是观察者(或量化和反量化操作)在图中的放置方式。这用于生成后端理解的期望参考模式。具有权重的操作(如线性操作和卷积操作)需要不同的观察者(或在参考模型中量化操作的量化参数)用于输入和输出。

有两种观测类型:

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

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

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

返回类型:

后端模式配置

set_pattern(pattern)[source][source]

设置模式以进行配置。

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

返回类型:

后端模式配置

set_qat_module(qat_module)[source][source]

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

返回类型:

后端模式配置

设置表示此模式根模块的参考量化实现的模块[source][source] ¶

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

更多详情,请参阅 set_root_module()

返回类型:

后端模式配置

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 贡献者。

使用 Sphinx 构建,主题由 Read the Docs 提供。

文档

查看 PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

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

查看资源