From 8502adeafbbb1db0acefa62560d93453e38dcadb Mon Sep 17 00:00:00 2001 From: James Conroy Date: Thu, 12 Nov 2020 19:26:29 +0000 Subject: IVGCVSW-5495 Fix validation for per-channel quant * Now enter if block if bias OR weights have multiple quantization scales. Signed-off-by: James Conroy Change-Id: I5eba0ceac9b347d0e3467e86d72d587b749b9521 --- src/backends/backendsCommon/WorkloadData.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp index b39d6b3c4c..676559cb2c 100644 --- a/src/backends/backendsCommon/WorkloadData.cpp +++ b/src/backends/backendsCommon/WorkloadData.cpp @@ -230,7 +230,7 @@ void ValidateBiasTensorQuantization(const TensorInfo& biasTensor, to_string(biasTensor.GetQuantizationOffset())); } - if (biasTensor.HasMultipleQuantizationScales()) + if (biasTensor.HasMultipleQuantizationScales() || weightsTensorInfo.HasMultipleQuantizationScales()) { // Validate per-axis quantization scales const std::vector& weightScales = weightsTensorInfo.GetQuantizationScales(); @@ -239,8 +239,9 @@ void ValidateBiasTensorQuantization(const TensorInfo& biasTensor, if (weightScales.size() != biasScales.size()) { std::stringstream msg; - msg << descName << ": Expected matchhing number of per-axis quantization scales, but got different " - << "values: weights=" << weightScales.size() << ", biases=" << biasScales.size(); + msg << descName << ": Expected matching number of per-axis quantization scales for weights and bias, " + << "but got different values. This is currently unsupported: weights=" << weightScales.size() + << ", biases=" << biasScales.size(); throw InvalidArgumentException(msg.str(), CHECK_LOCATION()); } -- cgit v1.2.1