aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Conroy <james.conroy@arm.com>2020-11-12 19:26:29 +0000
committermike.kelly <mike.kelly@arm.com>2020-11-13 11:01:34 +0000
commit8502adeafbbb1db0acefa62560d93453e38dcadb (patch)
tree6eab85e6f0abcd643f6c8367ac080ceeaa227fb2
parent30dfc543883bd139d59fcba2dd8cf83e7fc7ee6a (diff)
downloadarmnn-8502adeafbbb1db0acefa62560d93453e38dcadb.tar.gz
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 <james.conroy@arm.com> Change-Id: I5eba0ceac9b347d0e3467e86d72d587b749b9521
-rw-r--r--src/backends/backendsCommon/WorkloadData.cpp7
1 files 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<float>& 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());
}