• 文档 >
  • 量化 >
  • 量化 API 参考 >
  • QConfig 映射
快捷键

QConfig 映射 ¶

类 torch.ao.quantization.qconfig_mapping.QConfigMapping[source][source] ¶

将模型操作映射到 torch.ao.quantization.QConfig s。

用户可以使用以下方法指定 QConfigs(按匹配优先级递增):

set_global : 设置全局(默认)QConfig

set_object_type : 设置特定模块类型、函数或方法名称的 QConfig

set_module_name_regex : 设置匹配给定正则表达式的模块的 QConfig

set_module_name : 设置匹配给定模块名称的模块的 QConfig

设置与给定模块名称、对象类型和模块出现索引的组合匹配的模块的 QConfig

演示用法:

qconfig_mapping = QConfigMapping()
    .set_global(global_qconfig)
    .set_object_type(torch.nn.Linear, qconfig1)
    .set_object_type(torch.nn.ReLU, qconfig1)
    .set_module_name_regex("foo.*bar.*conv[0-9]+", qconfig1)
    .set_module_name_regex("foo.*", qconfig2)
    .set_module_name("module1", qconfig1)
    .set_module_name("module2", qconfig2)
    .set_module_name_object_type_order("foo.bar", torch.nn.functional.linear, 0, qconfig3)
classmethod from_dict(qconfig_dict)[source][source]

从具有以下键(所有键都是可选的)的字典创建一个 QConfigMapping

“”(用于全局 QConfig)

“对象类型”

“模块名称正则表达式”

“模块名称”

“模块名称对象类型顺序”

这个字典的值预期为元组列表。

返回类型:

QConfigMapping

set_global(global_qconfig)[source][source]

设置全局(默认)QConfig。

返回类型:

QConfig 映射

set_module_name(module_name, qconfig)[源代码][源代码] ¶

设置与给定模块名称匹配的 QConfig。如果已设置现有模块名称的 QConfig,则新 QConfig 将覆盖旧的一个。

返回类型:

QConfig 映射

set_module_name_object_type_order(module_name, object_type, index, qconfig)[source][source]

设置与给定模块名称、对象类型和模块出现位置的索引组合匹配的模块的 QConfig。

如果已存在(模块名称,对象类型,索引)的 QConfig 已被设置,则新的 QConfig 将覆盖旧的 QConfig。

返回类型:

QConfig 映射

设置模块名称正则表达式(set_module_name_regex(module_name_regex, qconfig)[source][source] ¶)

设置与给定正则字符串匹配的模块的 QConfig。

正则表达式将按照它们通过此方法注册的顺序进行匹配。因此,调用者应首先注册更具体的模式,例如:

qconfig_mapping = QConfigMapping()
    .set_module_name_regex("foo.*bar.*conv[0-9]+", qconfig1)
    .set_module_name_regex("foo.*bar.*", qconfig2)
    .set_module_name_regex("foo.*", qconfig3)

在此示例中,“foo.bar.conv0”将匹配 qconfig1,“foo.bar.linear”将匹配 qconfig2,“foo.baz.relu”将匹配 qconfig3。

如果已设置现有模块名称正则表达式的 QConfig,则新 QConfig 将覆盖旧的一个,同时保留正则表达式最初注册的顺序。

返回类型:

QConfig 映射

set_object_type(object_type, qconfig)[源][源] ¶

设置给定模块类型、函数或方法名称的 QConfig。如果已设置现有对象类型的 QConfig,则新 QConfig 将覆盖旧的一个。

返回类型:

QConfig 映射

to_dict()[来源][来源] ¶

将此 QConfigMapping 转换为具有以下键的字典:

“”(用于全局 QConfig)

“object_type”

“模块名称正则表达式”

“模块名称”

“模块名称对象类型顺序”

该字典的值是元组的列表。

返回类型:

dict[str, Any]


© 版权所有 PyTorch 贡献者。

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

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源