Shortcuts

QConfigMapping

class torch.ao.quantization.qconfig_mapping.QConfigMapping[源代码]

从模型操作映射到 torch.ao.quantization.QConfig

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

set_global : 设置全局(默认)QConfig

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

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

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

set_module_name_object_type_order : 设置与给定模块名称、对象类型和模块出现位置索引的组合匹配的模块的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)[源代码]

从具有以下键(全部可选)的字典创建一个 QConfigMapping

“” (用于全局 QConfig)

“对象类型”

“模块名称正则表达式”

“模块名称”

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

这个字典的值应该是元组的列表。

Return type

QConfigMapping

set_global(global_qconfig)[源代码]

设置全局(默认)QConfig。

Return type

QConfigMapping

set_module_name(module_name, qconfig)[源代码]

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

Return type

QConfigMapping

set_module_name_object_type_order(module_name, object_type, index, qconfig)[源代码]

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

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

Return type

QConfigMapping

set_module_name_regex(module_name_regex, qconfig)[源代码]

为匹配给定正则表达式的模块设置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,同时保留正则表达式最初注册的顺序。

Return type

QConfigMapping

set_object_type(object_type, qconfig)[源代码]

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

Return type

QConfigMapping

to_dict()[源代码]

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

“” (用于全局 QConfig)

“对象类型”

“模块名称正则表达式”

“模块名称”

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

这个字典的值是元组的列表。

Return type

字典[字符串, 任意]

优云智算