From 29a01c90fc372d31188ab7157b45b32ce24fa9b3 Mon Sep 17 00:00:00 2001 From: Michalis Spyrou Date: Thu, 22 Aug 2019 11:44:04 +0100 Subject: COMPMID-2417: NEDequantizationLayer support for QASYMM8_PER_CHANNEL Change-Id: I1ef4ce8610e11e81702b0b7f0f7c437fed49833e Signed-off-by: Michalis Spyrou Reviewed-on: https://review.mlplatform.org/c/1795 Tested-by: Arm Jenkins Reviewed-by: Michele Di Giorgio Comments-Addressed: Arm Jenkins --- tests/validation/reference/DequantizationLayer.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'tests/validation/reference') diff --git a/tests/validation/reference/DequantizationLayer.cpp b/tests/validation/reference/DequantizationLayer.cpp index cceee0421c..74686bdaaf 100644 --- a/tests/validation/reference/DequantizationLayer.cpp +++ b/tests/validation/reference/DequantizationLayer.cpp @@ -59,20 +59,22 @@ SimpleTensor dequantization_layer_nchw(const SimpleTensor &src) SimpleTensor dst{ src.shape(), dst_data_type }; - if(src_data_type == DataType::QSYMM8_PER_CHANNEL) + if(is_data_type_quantized_per_channel(src_data_type)) { const int WH = src.shape().x() * src.shape().y(); const int C = src.shape().z(); const int N = src.shape().total_size() / (WH * C); - const std::vector qscales = src.quantization_info().scale(); + const std::vector qscales = src.quantization_info().scale(); + const std::vector qoffsets = src.quantization_info().offset(); + const bool has_offsets = src_data_type == DataType::QASYMM8_PER_CHANNEL; for(int n = 0; n < N; ++n) { for(int c = 0; c < C; ++c) { const size_t idx = n * C * WH + c * WH; - const UniformQuantizationInfo channel_qinfo = { qscales[c], 0 }; + const UniformQuantizationInfo channel_qinfo = { qscales[c], has_offsets ? qoffsets[c] : 0 }; // Dequantize slice for(int s = 0; s < WH; ++s) -- cgit v1.2.1