PrepareCustomConfig#
- class torch.ao.quantization.fx.custom_config.PrepareCustomConfig[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"])
- classmethod from_dict(prepare_custom_config_dict)[source]#
從具有以下條目的字典建立
PrepareCustomConfig“standalone_module_name”: (module_name, qconfig_mapping, example_inputs, child_prepare_custom_config, backend_config) 元組列表
“standalone_module_class” a list of (module_class, qconfig_mapping, example_inputs, child_prepare_custom_config, backend_config) tuples
“float_to_observed_custom_module_class”: 一個巢狀字典,將量化模式對映到內部對映,將 float 模組類對映到 observed 模組類,例如 {“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]#
設定自定義 float 模組類到自定義 observed 模組類的對映。
observed 模組類必須有一個
from_float類方法,該方法將 float 模組類轉換為 observed 模組類。目前僅支援靜態量化。- 返回型別
- set_standalone_module_class(module_class, qconfig_mapping, example_inputs, prepare_custom_config, backend_config)[source]#
設定由
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)[source]#
設定由
module_name標識的獨立模組的執行配置。如果
qconfig_mapping為 None,則將使用父qconfig_mapping。如果prepare_custom_config為 None,則將使用空的PrepareCustomConfig。如果backend_config為 None,則將使用父backend_config。- 返回型別