From 4d6e2337176dc3ceeb0dbac188227963922513eb Mon Sep 17 00:00:00 2001 From: Aamir Nazir Date: Fri, 3 Apr 2026 17:43:29 +0400 Subject: [PATCH 1/4] Update observers.py --- backends/openvino/quantizer/observers.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/backends/openvino/quantizer/observers.py b/backends/openvino/quantizer/observers.py index 6cda4561604..e66b651101e 100644 --- a/backends/openvino/quantizer/observers.py +++ b/backends/openvino/quantizer/observers.py @@ -19,6 +19,9 @@ module_insertion, node_removal, ) +from nncf.quantization.algorithms.weight_compression.parameters import ( # type: ignore[import-untyped] + CompressedWeight +) from nncf.quantization.algorithms.weight_compression.config import ( # type: ignore[import-untyped] WeightCompressionParameters, ) @@ -71,6 +74,22 @@ def calculate_qparams( # type: ignore[override] wc_param = self._wc_param wc_config = wc_param.compression_config reduction_axes = wc_param.reduction_axes + nncf_compressed_weight = do_integer_quantization( + NNCFTensor(weight), wc_config, reduction_axes=reduction_axes + ) + + q_weight, scale, zp = None, None, None + if isinstance(nncf_compressed_weight, CompressedWeight): + q_weight = nncf_compressed_weight.tensor + scale = nncf_compressed_weight.scale + zp = nncf_compressed_weight.zero_point + if isinstance(nncf_compressed_weight, tuple): + # depreceate this part. For backwards compatability with older NNCF commit + q_weight, scale, zp = nncf_compressed_weight + assert all(val is not None for val in (q_weight, scale)), \ + f"Could not calculate quantization parameters for weight compression observer. " \ + f"None values: { {name: val for name, val in [('quantized_weight', q_weight), ('scale', scale)] if val is None} }" + q_weight, scale, zp = do_integer_quantization( NNCFTensor(weight), wc_config, reduction_axes=reduction_axes ) From 24760bc566a965bf4eaad31e259a45556199b9a2 Mon Sep 17 00:00:00 2001 From: Aamir Nazir Date: Fri, 3 Apr 2026 18:00:51 +0400 Subject: [PATCH 2/4] Update backends/openvino/quantizer/observers.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- backends/openvino/quantizer/observers.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/backends/openvino/quantizer/observers.py b/backends/openvino/quantizer/observers.py index e66b651101e..6bc68c8c893 100644 --- a/backends/openvino/quantizer/observers.py +++ b/backends/openvino/quantizer/observers.py @@ -90,9 +90,6 @@ def calculate_qparams( # type: ignore[override] f"Could not calculate quantization parameters for weight compression observer. " \ f"None values: { {name: val for name, val in [('quantized_weight', q_weight), ('scale', scale)] if val is None} }" - q_weight, scale, zp = do_integer_quantization( - NNCFTensor(weight), wc_config, reduction_axes=reduction_axes - ) zp = zp.data if zp is not None else None return q_weight.data, scale.data, zp From 8c86b678c2cf8ec91947a66167027ca84cd7787b Mon Sep 17 00:00:00 2001 From: Aamir Nazir Date: Fri, 3 Apr 2026 18:08:56 +0400 Subject: [PATCH 3/4] Update observers.py --- backends/openvino/quantizer/observers.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/backends/openvino/quantizer/observers.py b/backends/openvino/quantizer/observers.py index 6bc68c8c893..7328558ecb3 100644 --- a/backends/openvino/quantizer/observers.py +++ b/backends/openvino/quantizer/observers.py @@ -86,9 +86,11 @@ def calculate_qparams( # type: ignore[override] if isinstance(nncf_compressed_weight, tuple): # depreceate this part. For backwards compatability with older NNCF commit q_weight, scale, zp = nncf_compressed_weight - assert all(val is not None for val in (q_weight, scale)), \ - f"Could not calculate quantization parameters for weight compression observer. " \ - f"None values: { {name: val for name, val in [('quantized_weight', q_weight), ('scale', scale)] if val is None} }" + + if not all(val is not None for val in (q_weight, scale)): + msg = f"Could not calculate quantization parameters for weight compression observer. " \ + f"None values: { {name: val for name, val in [('quantized_weight', q_weight), ('scale', scale)] if val is None} }" + raise ValueError(msg) zp = zp.data if zp is not None else None return q_weight.data, scale.data, zp From 97d0ae7abb7dd9a15acdf0d7855266451a986b9a Mon Sep 17 00:00:00 2001 From: Aamir Nazir Date: Fri, 3 Apr 2026 18:10:09 +0400 Subject: [PATCH 4/4] Update backends/openvino/quantizer/observers.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- backends/openvino/quantizer/observers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backends/openvino/quantizer/observers.py b/backends/openvino/quantizer/observers.py index 7328558ecb3..92a6533f619 100644 --- a/backends/openvino/quantizer/observers.py +++ b/backends/openvino/quantizer/observers.py @@ -84,7 +84,7 @@ def calculate_qparams( # type: ignore[override] scale = nncf_compressed_weight.scale zp = nncf_compressed_weight.zero_point if isinstance(nncf_compressed_weight, tuple): - # depreceate this part. For backwards compatability with older NNCF commit + # depreceate this part. For backwards compatibility with older NNCF commit q_weight, scale, zp = nncf_compressed_weight if not all(val is not None for val in (q_weight, scale)):