准备自定义配置 ¶
- 类 torch.ao.quantization.fx.custom_config.PrepareCustomConfig[source][source] ¶
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"])
- 类方法 from_dict(prepare_custom_config_dict)[source][source] ¶
从以下项目创建一个
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”:一个从量化模式到内部映射的嵌套字典,映射浮点模块类到观测模块类,例如{"static": {FloatCustomModule: ObservedCustomModule}}
“non_traceable_module_name”:一个包含不可符号追踪的模块名的列表“non_traceable_module_class”:一个包含不可符号追踪的模块类的列表“input_quantized_idxs”:应量化图输入索引的列表“output_quantized_idxs”:应量化图输出索引的列表“preserved_attributes”:即使它们在
forward
中未被使用,也会持续存在的属性列表此功能主要用于向后兼容,未来可能会被移除。
- 返回类型:
- set_float_to_observed_mapping(float_class, observed_class, quant_type=QuantType.STATIC)[source][source]¶
设置自定义浮点模块类到自定义观测模块类的映射。
观测模块类必须有一个
from_float
类方法,将浮点模块类转换为观测模块类。目前仅支持静态量化。- 返回类型:
- 设置不可符号追踪的模块类(module_classes)[源代码][源代码] ¶
设置不可符号追踪的模块,通过类标识。
- 返回类型:
- 设置不可符号追踪的模块名称(module_names)[源代码][源代码] ¶
设置无法通过符号跟踪的模块,通过名称进行识别。
- 返回类型:
- set_standalone_module_class(module_class, qconfig_mapping, example_inputs, prepare_custom_config, backend_config)[source][source]¶
设置运行独立模块的配置,该模块由
module_class
标识。如果
qconfig_mapping
为空,则使用父级qconfig_mapping
。如果prepare_custom_config
为空,则使用空白的PrepareCustomConfig
。如果backend_config
为空,则使用父级backend_config
代替。- 返回类型:
- set_standalone_module_name(module_name, qconfig_mapping, example_inputs, prepare_custom_config, backend_config)[source][source]¶
设置运行由
module_name
标识的独立模块的配置。如果
qconfig_mapping
为空,则使用父级qconfig_mapping
。如果prepare_custom_config
为空,则使用空PrepareCustomConfig
。如果backend_config
为空,则使用父级backend_config
。- 返回类型:
- to_dict()[来源][来源] ¶
将此
PrepareCustomConfig
转换为包含from_dict()
描述项的字典。- 返回类型:
dict[str, Any]