From 6c358962c9f9cab31cbdc67b28f00e9c40d51f8e Mon Sep 17 00:00:00 2001 From: Oscar Andersson Date: Thu, 10 Jul 2025 15:59:17 +0200 Subject: [PATCH] Arm backend: Fix bug in QuantArgs class Convert scales and zps to torch.tensors before calling q or dq edge-op. Signed-off-by: Oscar Andersson Change-Id: Ia2b02000b2664c988ef30fdf7a13bac84168ebfa --- backends/arm/tosa_quant_utils.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/backends/arm/tosa_quant_utils.py b/backends/arm/tosa_quant_utils.py index aad4bab3eb1..7246ee74b74 100644 --- a/backends/arm/tosa_quant_utils.py +++ b/backends/arm/tosa_quant_utils.py @@ -146,7 +146,15 @@ def quantize_value(self, x: torch.Tensor | float) -> Tensor: x = x.to(torch.float32) if self.per_channel: q_op = exir_ops.edge.quantized_decomposed.quantize_per_channel.default - args = (x, self.scale, self.zp, self.axis, self.qmin, self.qmax, self.dtype) + args = ( + x, + torch.tensor(self.scale), + torch.tensor(self.zp), + self.axis, + self.qmin, + self.qmax, + self.dtype, + ) else: q_op = exir_ops.edge.quantized_decomposed.quantize_per_tensor.default args = (x, self.scale, self.zp, self.qmin, self.qmax, self.dtype) # type: ignore[assignment] @@ -162,8 +170,8 @@ def dequantize_value(self, qx: torch.Tensor) -> torch.Tensor: dq_op = exir_ops.edge.quantized_decomposed.dequantize_per_channel.default args = ( qx, - self.scale, - self.zp, + torch.tensor(self.scale), + torch.tensor(self.zp), self.axis, self.qmin, self.qmax,