diff options
author | Gian Marco Iodice <gianmarco.iodice@arm.com> | 2017-08-29 16:05:25 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:35:24 +0000 |
commit | 06b184ac568dc974986bae680957c4477f8ef6ca (patch) | |
tree | fa97d020f81f9a17edb6b50394f2bdf46f810ce9 /arm_compute/runtime | |
parent | 351c20a361521101307d365a4f91ad883fa272ea (diff) | |
download | ComputeLibrary-06b184ac568dc974986bae680957c4477f8ef6ca.tar.gz |
COMPMID-439 - Refactored NEQuantizationLayer and NEQuantizationLayer in order to support 3D input tensors
Change-Id: I03eac2108a30bed56d40dfd52e75577a35d492e0
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/85783
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Diffstat (limited to 'arm_compute/runtime')
-rw-r--r-- | arm_compute/runtime/NEON/functions/NEDequantizationLayer.h | 13 | ||||
-rw-r--r-- | arm_compute/runtime/NEON/functions/NEQuantizationLayer.h | 15 |
2 files changed, 15 insertions, 13 deletions
diff --git a/arm_compute/runtime/NEON/functions/NEDequantizationLayer.h b/arm_compute/runtime/NEON/functions/NEDequantizationLayer.h index 7cd8360713..898586190e 100644 --- a/arm_compute/runtime/NEON/functions/NEDequantizationLayer.h +++ b/arm_compute/runtime/NEON/functions/NEDequantizationLayer.h @@ -27,7 +27,6 @@ #include "arm_compute/runtime/IFunction.h" #include "arm_compute/core/NEON/kernels/NEDequantizationLayerKernel.h" -#include "arm_compute/runtime/Tensor.h" #include "arm_compute/core/Types.h" @@ -37,6 +36,8 @@ class ITensor; /** Basic function to simulate a dequantization layer. This function calls the following NEON kernels: * + * @note The implementation supports only 3D input tensors + * * -# @ref NEDequantizationLayerKernel * */ @@ -47,12 +48,12 @@ public: NEDequantizationLayer(); /** Configure the kernel. * - * @param[in] input Source tensor. Data types supported: U8. - * @param[out] output Destination tensor. Data types supported: F32. - * @param[in] min Minimum value of the input tensor. - * @param[in] max Maximum value of the input tensor. + * @param[in] input Source tensor with at least 3 dimensions. The dimensions over the third will be interpreted as batches. Data types supported: U8. + * @param[out] output Destination tensor with the same dimensions of input. Data type supported: F32. + * @param[in] min_max Pointer to 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 */ - void configure(const ITensor *input, ITensor *output, const float *min, const float *max); + void configure(const ITensor *input, ITensor *output, const ITensor *min_max); // Inherited methods overridden: void run() override; diff --git a/arm_compute/runtime/NEON/functions/NEQuantizationLayer.h b/arm_compute/runtime/NEON/functions/NEQuantizationLayer.h index ab189fe3a2..d91b4ad1ad 100644 --- a/arm_compute/runtime/NEON/functions/NEQuantizationLayer.h +++ b/arm_compute/runtime/NEON/functions/NEQuantizationLayer.h @@ -26,7 +26,7 @@ #include "arm_compute/runtime/IFunction.h" -#include "arm_compute/core/NEON/kernels/NEMinMaxLocationKernel.h" +#include "arm_compute/core/NEON/kernels/NEMinMaxLayerKernel.h" #include "arm_compute/core/NEON/kernels/NEQuantizationLayerKernel.h" #include "arm_compute/runtime/Tensor.h" @@ -38,7 +38,9 @@ class ITensor; /** Basic function to simulate a quantization layer. This function calls the following NEON kernels: * - * -# @ref NEMinMaxKernel + * @note The implementation supports only 3D input tensors + * + * -# @ref NEMinMaxLayerKernel * -# @ref NEQuantizationLayerKernel * */ @@ -49,8 +51,8 @@ public: NEQuantizationLayer(); /** Set the input and output tensors. * - * @param[in] input Source tensor. Data types supported: F32 - * @param[out] output Destination tensor. Data types supported: U8 + * @param[in] input Source tensor with at least 3 dimensions. The dimensions over the third will be interpreted as batches. Data types supported: F32 + * @param[out] output Destination tensor with the same dimensions of input. Data types supported: U8 */ void configure(const ITensor *input, ITensor *output); @@ -59,9 +61,8 @@ public: private: NEQuantizationLayerKernel _quantize_kernel; - NEMinMaxKernel _min_max_kernel; - float _min; - float _max; + NEMinMaxLayerKernel _min_max_kernel; + Tensor _min_max; }; } #endif /* __ARM_COMPUTE_NEQUANTIZATIONLAYER_H__ */ |