准备自定义配置
- 类 torch.ao.quantization.fx.custom_config.PrepareCustomConfig [源代码]
-
用于
prepare_fx()
和prepare_qat_fx()
的自定义配置。示例用法:
prepare_custom_config = PrepareCustomConfig() .set_standalone_module_name("module1", qconfig_mapping, example_inputs, child_prepare_custom_config, backend_config) .set_standalone_module_class(MyStandaloneModule, qconfig_mapping, example_inputs, child_prepare_custom_config, backend_config) .set_float_to_observed_mapping(FloatCustomModule, ObservedCustomModule) .set_non_traceable_module_names(["module2", "module3"]) .set_non_traceable_module_classes([NonTraceableModule1, NonTraceableModule2]) .set_input_quantized_indexes([0]) .set_output_quantized_indexes([0]) .set_preserved_attributes(["attr1", "attr2"])
- classmethodfrom_dict(prepare_custom_config_dict)[源代码]
-
使用包含以下项目的字典来创建一个
PrepareCustomConfig
:"standalone_module_name": 一个由 (module_name, qconfig_mapping, example_inputs, child_prepare_custom_config, backend_config) 元组组成的列表
"standalone_module_class" 是一个包含 (module_class, qconfig_mapping, example_inputs, child_prepare_custom_config, backend_config) 元组的列表。
"float_to_observed_custom_module_class": 一个嵌套字典,将量化模式映射到浮点模块类和对应的观察模块类之间的关系,例如 {“静态”: {FloatCustomModule: ObservedCustomModule}}
"non_traceable_module_name": 指定无法进行符号跟踪的模块名称列表
"non_traceable_module_class": 指定无法进行符号跟踪的模块类列表
"input_quantized_idxs": 需要量化的图输入索引列表
"output_quantized_idxs": 需要量化的图输出索引列表
"preserved_attributes": 即使在forward
方法中未使用,也会保留的属性列表此函数主要用于保持 backward 兼容性,未来可能会被移除。
注意这里的backward建议翻译为“向后”,以增加理解的自然度。但按照要求只返回答案本身的话:此函数主要用于向后兼容,将来可能会被移除。
- 返回类型
- set_float_to_observed_mapping(float_class, observed_class, quant_type=QuantType.STATIC)[源代码]
-
设置从自定义浮点模块类到自定义观察模块类之间的映射。
观察到的模块类必须包含一个
from_float
类方法,用于将浮点模块类转换为观察到的模块类。当前,这种方法仅适用于静态量化。- 返回类型
- set_input_quantized_indexes(indexes)[源代码]
-
设定需要量化的图输入的索引。如果没有指定,则默认所有输入均为fp32格式。
- 返回类型
- set_non_traceable_module_classes(module_classes)[源代码]
-
设置那些无法进行符号跟踪的模块,这些模块通过类来标识。
- 返回类型
- set_non_traceable_module_names(module_names)[源代码]
-
设置那些无法进行符号跟踪的模块,这些模块通过名称来识别。
- 返回类型
- set_output_quantized_indexes(indexes)[源代码]
-
设置需要量化的图输出的索引。否则,默认情况下输出将被假设为 fp32。
- 返回类型
- set_preserved_attributes(attributes)[源代码]
-
设置将在图模块中保留的属性名称,即使这些属性未在模型的
forward
方法中使用。- 返回类型
- set_standalone_module_class(module_class, qconfig_mapping, example_inputs, prepare_custom_config, backend_config)[源代码]
-
设置运行独立模块的配置,该模块由
module_class
标识。如果
qconfig_mapping
为 None,则使用父级的qconfig_mapping
。如果prepare_custom_config
为 None,则使用一个空的PrepareCustomConfig
对象。如果backend_config
为 None,则使用父级的backend_config
。- 返回类型
- set_standalone_module_name(module_name, qconfig_mapping, example_inputs, prepare_custom_config, backend_config)[源代码]
-
为由
module_name
标识的独立模块设置运行配置。如果
qconfig_mapping
为 None,则使用父级的qconfig_mapping
。如果prepare_custom_config
为 None,则使用一个空的PrepareCustomConfig
对象。如果backend_config
为 None,则使用父级的backend_config
。- 返回类型
- to_dict()[源代码]
-
将此
PrepareCustomConfig
转换为一个字典,具体转换规则请参见from_dict()
中的描述。