Skip to content
This repository was archived by the owner on Jun 3, 2025. It is now read-only.

Commit 8341aac

Browse files
authored
Choose quantization modifier based on dynamic set of modifier properties (#1568)
1 parent 3dd1f8d commit 8341aac

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

src/sparseml/pytorch/sparsification/quantization/modifier_quantization.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,26 @@
6767
def _select_quantization_modifier(state: Dict[str, Any]) -> Type:
6868
# if kwargs for the legacy quantization modifier are provided,
6969
# route YAML loading to that class
70-
return LegacyQuantizationModifier if "submodules" in state else QuantizationModifier
70+
legacy_props = set(
71+
[
72+
str(prop)
73+
for prop in dir(LegacyQuantizationModifier)
74+
if isinstance(getattr(LegacyQuantizationModifier, prop), ModifierProp)
75+
]
76+
)
77+
current_props = set(
78+
[
79+
str(prop)
80+
for prop in dir(QuantizationModifier)
81+
if isinstance(getattr(QuantizationModifier, prop), ModifierProp)
82+
]
83+
)
84+
legacy_only_props = legacy_props - current_props
85+
return (
86+
LegacyQuantizationModifier
87+
if any(field in state for field in legacy_only_props)
88+
else QuantizationModifier
89+
)
7190

7291

7392
@PyTorchModifierYAML(swap_class_by_state_fn=_select_quantization_modifier)

0 commit comments

Comments
 (0)