diff options
author | Alex Gilday <alexander.gilday@arm.com> | 2018-03-05 16:22:48 +0000 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:49:16 +0000 |
commit | 60954c671ffdc3422bbdb728fc022eb6896c1e17 (patch) | |
tree | 67f57a6683562bf6611d46cfc409edf32e891ac7 /arm_compute/core/CL/kernels | |
parent | f47bfb97fa8bc928a7860b84b7b227f716f65e58 (diff) | |
download | ComputeLibrary-60954c671ffdc3422bbdb728fc022eb6896c1e17.tar.gz |
COMPMID-754: Add validation to (De)QuantizationLayers
Change-Id: If8fa1277e8dc5b8e28a8bcad4ff9fc672b00ce9a
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/123275
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Diffstat (limited to 'arm_compute/core/CL/kernels')
-rw-r--r-- | arm_compute/core/CL/kernels/CLDequantizationLayerKernel.h | 12 | ||||
-rw-r--r-- | arm_compute/core/CL/kernels/CLMinMaxLayerKernel.h | 13 | ||||
-rw-r--r-- | arm_compute/core/CL/kernels/CLQuantizationLayerKernel.h | 10 |
3 files changed, 32 insertions, 3 deletions
diff --git a/arm_compute/core/CL/kernels/CLDequantizationLayerKernel.h b/arm_compute/core/CL/kernels/CLDequantizationLayerKernel.h index 03112d282a..38aa63e98f 100644 --- a/arm_compute/core/CL/kernels/CLDequantizationLayerKernel.h +++ b/arm_compute/core/CL/kernels/CLDequantizationLayerKernel.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -58,6 +58,16 @@ public: * The dimensions over the second must match the batched dimensions of the input tensor. Data type supported: F32. */ void configure(const ICLTensor *input, ICLTensor *output, const ICLTensor *min_max); + /** Static function to check if given info will lead to a valid configuration of @ref CLDequantizationLayerKernel + * + * @param[in] input Input tensor info. Data types supported: U8. + * @param[in] output Output tensor info. Data types supported: F32. + * @param[in] min_max Info for the tensor with shape [2, batches] which stores the minimum and maximum value for each 3D input tensor. + * The dimensions over the second must match the batched dimensions of the input tensor. Data type supported: F32. + * + * @return a status + */ + static Status validate(const ITensorInfo *input, const ITensorInfo *output, const ITensorInfo *min_max); // Inherited methods overridden: void run(const Window &window, cl::CommandQueue &queue) override; diff --git a/arm_compute/core/CL/kernels/CLMinMaxLayerKernel.h b/arm_compute/core/CL/kernels/CLMinMaxLayerKernel.h index a0eba4879b..0faa5c0bde 100644 --- a/arm_compute/core/CL/kernels/CLMinMaxLayerKernel.h +++ b/arm_compute/core/CL/kernels/CLMinMaxLayerKernel.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -49,9 +49,18 @@ public: * * @param[in] input Input tensor with at least 3 dimensions. The dimensions over the third will be interpreted as batches.Data types supported: F32. * @param[out] output Output tensor with shape [2, batches, ...] which stores the minimum and maximum values for each 3D input tensor. - * The dimensions over the second must match the batched dimensions of the input tensor. Data types supported: F32. + * The dimensions over the second must match the batched dimensions of the input tensor. Data types supported: F32. */ void configure(const ICLTensor *input, ICLTensor *output); + /** Static function to check if given info will lead to a valid configuration of @ref CLMinMaxLayerKernel + * + * @param[in] input Input tensor info. Data types supported: F32. + * @param[in] output Output tensor info with shape [2, batches, ...] which stores the minimum and maximum values for each 3D input tensor. + * The dimensions over the second must match the batched dimensions of the input tensor. Data types supported: F32. + * + * @return a status + */ + static Status validate(const ITensorInfo *input, const ITensorInfo *output); /** Resets global minimum and maximum * diff --git a/arm_compute/core/CL/kernels/CLQuantizationLayerKernel.h b/arm_compute/core/CL/kernels/CLQuantizationLayerKernel.h index a24ddb1a3a..49d76087b5 100644 --- a/arm_compute/core/CL/kernels/CLQuantizationLayerKernel.h +++ b/arm_compute/core/CL/kernels/CLQuantizationLayerKernel.h @@ -57,6 +57,16 @@ public: * The dimensions over the second must match the batched dimensions of the input tensor. Data type supported: F32. */ void configure(const ICLTensor *input, ICLTensor *output, ICLTensor *min_max); + /** Static function to check if given info will lead to a valid configuration of @ref CLQuantizationLayerKernel + * + * @param[in] input Input tensor info. Data types supported: F32. + * @param[in] output Output tensor info. Output data type must be U8. + * @param[in] min_max Info for the tensor with shape [2, batches] which stores the minimum and maximum value for each 3D input tensor. + * The dimensions over the second must match the batched dimensions of the input tensor. Data type supported: F32. + * + * @return a status + */ + static Status validate(const ITensorInfo *input, const ITensorInfo *output, const ITensorInfo *min_max); // Inherited methods overridden: void run(const Window &window, cl::CommandQueue &queue) override; |