Skip to content

Commit 08edc7f

Browse files
committed
Make compress_weights boolean parameter in AdvancedQuantizationParameters
1 parent 7416dce commit 08edc7f

File tree

3 files changed

+7
-10
lines changed

3 files changed

+7
-10
lines changed

src/nncf/openvino/quantization/quantize_model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ def quantize_with_accuracy_control_impl(
216216
copied_parameters = deepcopy(advanced_quantization_parameters)
217217

218218
compress_weights = is_weight_compression_needed(copied_parameters)
219-
copied_parameters.backend_params[AdvancedQuantizationParameters.COMPRESS_WEIGHTS] = False
219+
copied_parameters.compress_weights = False
220220

221221
quantized_model = quantize_impl(
222222
model=model,

src/nncf/quantization/advanced_parameters.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -256,10 +256,8 @@ class AdvancedQuantizationParameters:
256256
:type smooth_quant_alpha: float
257257
:param backend_params: Backend-specific parameters.
258258
:type backend_params: dict[str, Any]
259-
:param COMPRESS_WEIGHTS: A key in the `backend_params` dictionary that indicates whether
260-
weight compression should be applied. If set to False, weight compression is disabled.
261-
By default, weight compression is enabled (True).
262-
:type COMPRESS_WEIGHTS: str
259+
:param compress_weights: Indicates whether to apply weight compression after quantization.
260+
:type compress_weights: bool
263261
"""
264262

265263
# General parameters
@@ -274,6 +272,7 @@ class AdvancedQuantizationParameters:
274272
activations_quantization_params: Optional[Union[QuantizationParameters, FP8QuantizationParameters]] = None
275273
weights_quantization_params: Optional[Union[QuantizationParameters, FP8QuantizationParameters]] = None
276274
quantizer_propagation_rule: QuantizerPropagationRule = QuantizerPropagationRule.MERGE_ALL_IN_ONE
275+
compress_weights: bool = True
277276

278277
# Range estimator parameters
279278
activations_range_estimator_params: RangeEstimatorParameters = field(default_factory=RangeEstimatorParameters)
@@ -290,9 +289,6 @@ class AdvancedQuantizationParameters:
290289
# Backend specific parameters
291290
backend_params: dict[str, Any] = field(default_factory=dict)
292291

293-
# Backend parameter names
294-
COMPRESS_WEIGHTS = "compress_weights"
295-
296292

297293
def is_weight_compression_needed(advanced_parameters: Optional[AdvancedQuantizationParameters]) -> bool:
298294
"""
@@ -304,7 +300,7 @@ def is_weight_compression_needed(advanced_parameters: Optional[AdvancedQuantizat
304300
:return: True if weight compression is needed, False otherwise.
305301
"""
306302
if advanced_parameters.backend_params is not None:
307-
return bool(advanced_parameters.backend_params.get(AdvancedQuantizationParameters.COMPRESS_WEIGHTS, True))
303+
return advanced_parameters.compress_weights
308304
return True
309305

310306

tests/torch2/fx/test_models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,8 @@ def transform_fn(data_item):
218218
calibration_dataset = nncf.Dataset([example_input], transform_fn)
219219

220220
quantization_parameters["advanced_parameters"] = AdvancedQuantizationParameters(
221-
disable_bias_correction=True, backend_params={AdvancedQuantizationParameters.COMPRESS_WEIGHTS: compress_weights}
221+
disable_bias_correction=True,
222+
compress_weights=compress_weights,
222223
)
223224
quantization_parameters["subset_size"] = 1
224225

0 commit comments

Comments
 (0)