Skip to content

Commit

Permalink
Choose quantization modifier based on dynamic set of modifier propert…
Browse files Browse the repository at this point in the history
…ies (#1568)
  • Loading branch information
KSGulin committed May 23, 2023
1 parent 3dd1f8d commit 8341aac
Showing 1 changed file with 20 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,26 @@
def _select_quantization_modifier(state: Dict[str, Any]) -> Type:
# if kwargs for the legacy quantization modifier are provided,
# route YAML loading to that class
return LegacyQuantizationModifier if "submodules" in state else QuantizationModifier
legacy_props = set(
[
str(prop)
for prop in dir(LegacyQuantizationModifier)
if isinstance(getattr(LegacyQuantizationModifier, prop), ModifierProp)
]
)
current_props = set(
[
str(prop)
for prop in dir(QuantizationModifier)
if isinstance(getattr(QuantizationModifier, prop), ModifierProp)
]
)
legacy_only_props = legacy_props - current_props
return (
LegacyQuantizationModifier
if any(field in state for field in legacy_only_props)
else QuantizationModifier
)


@PyTorchModifierYAML(swap_class_by_state_fn=_select_quantization_modifier)
Expand Down

0 comments on commit 8341aac

Please sign in to comment.