Skip to content

[QuantizationModifier] strict mode - raise if unmatched submodules or types #1241

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 12, 2022

Conversation

bfineran
Copy link
Contributor

@bfineran bfineran commented Dec 9, 2022

strict by default adds a check that the all overrides and ignores given by the user are actually found in the module. meant to catch any config errors earlier rather than later but gives user the option to turn off

test_plan:

  • yaml test updated
  • existing tests now passing under strict (found and fixed one issue)
  • test added to check for expected errors

@bfineran bfineran self-assigned this Dec 9, 2022
@bfineran bfineran mentioned this pull request Dec 9, 2022
18 tasks
@bfineran bfineran force-pushed the quantization-refactor/scheme-interface-rework branch from 66cfaac to a0f6837 Compare December 12, 2022 21:17
Base automatically changed from quantization-refactor/scheme-interface-rework to quantization-refactor/main December 12, 2022 21:17
@bfineran bfineran force-pushed the quantization-refactor/strict branch from e345eaf to 410fa8c Compare December 12, 2022 21:18
@bfineran bfineran merged commit dd6f9bb into quantization-refactor/main Dec 12, 2022
@bfineran bfineran deleted the quantization-refactor/strict branch December 12, 2022 21:19
bfineran added a commit that referenced this pull request Dec 19, 2022
* [QuantizationModifier] refactor base - move deprecated code to legacy file, add object routing for yaml load (#1059)

* move existing ModifierQuantization and tests to legacy file

* [QuantizationModifier] refactor base - move deprecated code to legacy file, add object routing for yaml load

* [QuantizationModifier] pydantic classes for defining quantization schemes to generate QConfigs (#1061)

* [QuantizationModifier] pydantic classes for defining quantization schemes to generate QConfigs

* review response

* [WIP][QuantizationModifier] base refactor flow - quantize entire module from QuantizationScheme (#1185)

* [QuantizationModifier] base refactor flow - quantize entire module from QuantizationScheme

* review response

* testing - lifecycle + QAT application

* activate qat tests

* [QuantizationModifier] improved quantization flow - control of propagation with schemes and stronger testing (#1198)

* [QuantizationModifier] exclude_module_types list modifier param to disable module types from quantization (#1199)

* [QuantizationModifier] submodule_schemes property impl - target specific submodules by scheme (#1201)

* [QuantizationModifier] submodule_schemes property impl - target specific submodules by scheme

* generalize helper fn name + quality

* [QuantizationModifier] module_type_schemes - override quantization scheme by layer type (#1202)

* [QuantizationModifier] module_type_schemes - override quantization scheme by layer type

* yaml pydoc example

* [QuantizationModifier] target hardware support (#1203)

* [QuantizationModifier] freeze bn stats and disable observers for QAT finetuning support (#1206)

* [QuantizationModifier] num_calibration_steps support (PTQ) (#1208)

* [QuantizationModifier] override params for model fuse step (#1209)

* [QuantizationModifier] refactor QuantizationScheme to its own file (#1223)

* [QuantizationModifier] QATWrapper support (#1226)

* [QuantizationModifier] logging support (#1231)

* [QuantizationModifier] logging support

* fake quantize bits logging

* [QuantizationModifier] potentially re-load quantization schemes on qconfig load (#1236)

* [QuantizationModifier] UX refactor - submodule_overrides and ignore (#1239)

* rename modifier default_scheme -> scheme

* refactor set_quantization_schemes (tests passing with existing UX)

* exclude_module_types -> ignore ; adds submodule exclusion

* refactor submodule and module type schemes into unified submodule_overrides

* [QuantizationModifier] strict mode - raise if unmatched submodules or types (#1241)

* [QuantizationModifier] take ownership of add_observers_, unit test fixes (#1261)

* [QuantizationModifier] take ownership of add_observers_, unit test fixes

* suggestion from review - with quality override

* review - suggested comment

* fixes for FloatFunctional support (resnet50 broke)

* [rebase] merge in changes to legacy modifier quantization
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants