PrepareCustomConfig¶
- class 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"])
- classmethod from_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”:一个嵌套字典,将量化模式映射到浮点模块类与观察到模块类的内部映射,例如 {“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)[源代码][源代码]¶
设置自定义浮点模块类到自定义观察到模块类的映射。
观察到模块类必须有一个 from_float 类方法,用于将浮点模块类转换为观察到模块类。目前仅支持静态量化。
- 返回类型
- 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。
- 返回类型