From e92b0458a0432254f8e49bc306aebfe172bb4d0e Mon Sep 17 00:00:00 2001 From: Freddie Liardet Date: Thu, 22 Apr 2021 14:55:17 +0100 Subject: Add per-channel quantization support for CLDeconvolutionLayer Add QSYMM8_PER_CHANNEL support on weight input for CLDeconvolutionLayer. When weights are per-channel quantized type "Direct" method is always used. Also reduce number of QSYMM8_PER_CHANNEL tests for NEDeconvolutionLayer. Resolves: COMPMID-3438 Signed-off-by: Freddie Liardet Change-Id: I1330cac5142e19d21e322574fb8d912558745b02 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5484 Reviewed-by: Michele Di Giorgio Reviewed-by: Giorgio Arena Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins --- src/runtime/CL/functions/CLDeconvolutionLayer.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/runtime/CL/functions/CLDeconvolutionLayer.cpp') diff --git a/src/runtime/CL/functions/CLDeconvolutionLayer.cpp b/src/runtime/CL/functions/CLDeconvolutionLayer.cpp index 75f34cc5ee..918848745e 100644 --- a/src/runtime/CL/functions/CLDeconvolutionLayer.cpp +++ b/src/runtime/CL/functions/CLDeconvolutionLayer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2020 Arm Limited. + * Copyright (c) 2017-2021 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -105,6 +105,11 @@ DeconvolutionMethod CLDeconvolutionLayer::get_deconvolution_method(const ITensor { ARM_COMPUTE_UNUSED(output, bias, weights_info); + if(is_data_type_quantized_per_channel(weights->data_type())) + { + return DeconvolutionMethod::DIRECT; + } + const DataLayout data_layout = input->data_layout(); const size_t idx_w = get_data_layout_dimension_index(data_layout, DataLayoutDimension::WIDTH); -- cgit v1.2.1