Alter tolerance in QuantizationLayer to use int8_t for asymmetric signed
Tolerance values passed to the validation process of QuantizationLayer
for int8_t quantized types were in unsigned format leading in wrong
interpretation of negative values. Thus, alter the tolerance type to
use int8_t instead.
Resolves: COMPMID-4090
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I82388a6e59cc91ca5093f0c665267b620523b122
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4848
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/tests/validation/NEON/QuantizationLayer.cpp b/tests/validation/NEON/QuantizationLayer.cpp
index 04b3a78..36f2937 100644
--- a/tests/validation/NEON/QuantizationLayer.cpp
+++ b/tests/validation/NEON/QuantizationLayer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -97,7 +97,7 @@
framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.5f, 10) })))
{
// Validate output
- validate(Accessor(_target), _reference, tolerance_u8);
+ validate(Accessor(_target), _reference, tolerance_s8);
}
FIXTURE_DATA_TEST_CASE(RunSmallQASYMM16, NEQuantizationLayerQASYMM16Fixture<float>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(QuantizationSmallShapes,
framework::dataset::make("DataType", DataType::F32)),
@@ -140,7 +140,7 @@
framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.5f, 10) })))
{
// Validate output
- validate(Accessor(_target), _reference, tolerance_u8);
+ validate(Accessor(_target), _reference, tolerance_s8);
}
FIXTURE_DATA_TEST_CASE(RunSmallQASYMM16, NEQuantizationLayerQASYMM16Fixture<half>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(QuantizationSmallShapes,
framework::dataset::make("DataType", DataType::F16)),