pytorch
88e0165d - [ao] Added Equalization QConfig generation to ModelReport class (#83698)

Commit
2 years ago
[ao] Added Equalization QConfig generation to ModelReport class (#83698) Summary: This adds the capability to generate a QConfigMapping based on the suggestions of the ModelReport API for the user to use. The only dependency of this feature is that the calibration is run before the generation of the QConfigMapping and there is no dependency on the report generation other than that the observers cannot be removed before this is called. This maps module fqns to EqualizationQConfigs instead of regular QConfigs. Example Usage (after callibration): ``` quantization_mapping = mod_report.generate_qconfig_mapping() equalization_mapping = mod_report.generate_equalization_mapping() prepared_model = quantize_fx.prepare_fx(model, mapping, example_input, _equalization_config=equalization_mapping) quantized_model = quantize_fx.convert_fx(prepared) ``` This was tested by ensuring that the suggestions generated in the
QConfigMapping are: 1. Correct according to the set backend and data passed through 2. Able to be prepared and converted as a proper config (is a valid
config) The test for this is a part of the TestFxModelReportClass test suite. Test Plan: python test/test_quantization.py TestFxModelReportClass.test_equalization_mapping_generation Reviewers: Subscribers: Tasks: Tags: Pull Request resolved: https://github.com/pytorch/pytorch/pull/83698 Approved by: https://github.com/jerryzh168
Author
Committer
Parents
Loading