Skip to content

Commit 7416dce

Browse files
committed
Address review comments
1 parent bc9ddb8 commit 7416dce

File tree

3 files changed

+21
-14
lines changed

3 files changed

+21
-14
lines changed

src/nncf/experimental/torch/fx/quantization/quantize_model.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
from nncf.parameters import TargetDevice
3939
from nncf.quantization.advanced_parameters import AdvancedCompressionParameters
4040
from nncf.quantization.advanced_parameters import AdvancedQuantizationParameters
41+
from nncf.quantization.advanced_parameters import is_weight_compression_needed
4142
from nncf.quantization.algorithms.post_training.algorithm import PostTrainingQuantization
4243
from nncf.quantization.algorithms.weight_compression.algorithm import WeightCompression
4344
from nncf.scopes import IgnoredScope
@@ -92,7 +93,7 @@ def quantize_impl(
9293
nncf_graph = NNCFGraphFactory.create(copied_model)
9394
quantized_model = quantization_algorithm.apply(copied_model, nncf_graph, dataset=calibration_dataset)
9495

95-
if advanced_parameters is None or advanced_parameters.is_weight_compression_needed():
96+
if is_weight_compression_needed(advanced_parameters):
9697
compress_post_quantize_transformation(quantized_model)
9798
else:
9899
fq_weights_transformation(quantized_model)

src/nncf/openvino/quantization/quantize_model.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
from nncf.quantization.advanced_parameters import AdvancedCompressionParameters
4242
from nncf.quantization.advanced_parameters import AdvancedQuantizationParameters
4343
from nncf.quantization.advanced_parameters import convert_to_dict_recursively
44+
from nncf.quantization.advanced_parameters import is_weight_compression_needed
4445
from nncf.quantization.algorithms.accuracy_control.algorithm import QuantizationAccuracyRestorer
4546
from nncf.quantization.algorithms.accuracy_control.algorithm import calculate_accuracy_drop
4647
from nncf.quantization.algorithms.accuracy_control.evaluator import Evaluator
@@ -121,7 +122,7 @@ def _extract_all_subgraphs(model: ov.Model, current_id: str) -> None:
121122
quantization_algorithm, model, graphs, main_model_graph_id, calibration_dataset, subset_size, 1
122123
)
123124

124-
if advanced_parameters is None or advanced_parameters.is_weight_compression_needed():
125+
if is_weight_compression_needed(advanced_parameters):
125126
compress_quantize_weights_transformation(quantized_model)
126127

127128
dump_parameters(
@@ -168,7 +169,7 @@ def native_quantize_impl(
168169
warning_model_no_batchwise_support(graph, advanced_parameters, model_type, OPERATIONS_OUTPUT_HAS_NO_BATCH_AXIS)
169170
quantized_model = quantization_algorithm.apply(model, graph, dataset=calibration_dataset)
170171

171-
if advanced_parameters is None or advanced_parameters.is_weight_compression_needed():
172+
if is_weight_compression_needed(advanced_parameters):
172173
compress_quantize_weights_transformation(quantized_model)
173174

174175
dump_parameters(
@@ -214,7 +215,7 @@ def quantize_with_accuracy_control_impl(
214215
else:
215216
copied_parameters = deepcopy(advanced_quantization_parameters)
216217

217-
compress_weights = copied_parameters.is_weight_compression_needed()
218+
compress_weights = is_weight_compression_needed(copied_parameters)
218219
copied_parameters.backend_params[AdvancedQuantizationParameters.COMPRESS_WEIGHTS] = False
219220

220221
quantized_model = quantize_impl(

src/nncf/quantization/advanced_parameters.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,10 @@ 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
259263
"""
260264

261265
# General parameters
@@ -289,18 +293,19 @@ class AdvancedQuantizationParameters:
289293
# Backend parameter names
290294
COMPRESS_WEIGHTS = "compress_weights"
291295

292-
def is_weight_compression_needed(self) -> bool:
293-
"""
294-
Determine whether weight compression is needed based on advanced quantization parameters.
295296

296-
If `advanced_parameters` or its `backend_params` are not provided, defaults to True.
297+
def is_weight_compression_needed(advanced_parameters: Optional[AdvancedQuantizationParameters]) -> bool:
298+
"""
299+
Determine whether weight compression is needed based on advanced quantization parameters.
300+
301+
If `advanced_parameters` or its `backend_params` are not provided, defaults to True.
297302
298-
:param advanced_parameters: Advanced quantization parameters.
299-
:return: True if weight compression is needed, False otherwise.
300-
"""
301-
if self.backend_params is not None:
302-
return bool(self.backend_params.get(AdvancedQuantizationParameters.COMPRESS_WEIGHTS, True))
303-
return True
303+
:param advanced_parameters: Advanced quantization parameters.
304+
:return: True if weight compression is needed, False otherwise.
305+
"""
306+
if advanced_parameters.backend_params is not None:
307+
return bool(advanced_parameters.backend_params.get(AdvancedQuantizationParameters.COMPRESS_WEIGHTS, True))
308+
return True
304309

305310

306311
@api()

0 commit comments

Comments
 (0)