diff options
author | morgolock <pablo.tello@arm.com> | 2020-03-24 09:26:48 +0000 |
---|---|---|
committer | Pablo Marquez <pablo.tello@arm.com> | 2020-04-01 12:45:47 +0000 |
commit | cc1f6c94f1fc3b5d5ccbd5aa43e2a08487664f50 (patch) | |
tree | edf8c87c5ac37b291a9b615b9eeb65df08f79095 /arm_compute/core/CL | |
parent | 9428a182911802cf6e6df6eb751a7c7eb43602f9 (diff) | |
download | ComputeLibrary-cc1f6c94f1fc3b5d5ccbd5aa43e2a08487664f50.tar.gz |
MLCE-166: Add support for extracting indices in NEPoolingLayer 2x2 NCHW
* Added initial support for pooling indices
* Only supported for NCHW Poolsize 2
Change-Id: I92ce767e64fcc01aae89411064b4cb2be272a1e9
Signed-off-by: morgolock <pablo.tello@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/2927
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute/core/CL')
-rw-r--r-- | arm_compute/core/CL/kernels/CLPoolingLayerKernel.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arm_compute/core/CL/kernels/CLPoolingLayerKernel.h b/arm_compute/core/CL/kernels/CLPoolingLayerKernel.h index 4b3ee24333..fdd10f3f66 100644 --- a/arm_compute/core/CL/kernels/CLPoolingLayerKernel.h +++ b/arm_compute/core/CL/kernels/CLPoolingLayerKernel.h @@ -55,17 +55,19 @@ public: * @param[in] input Source tensor. Data types supported: QASYMM8/QASYMM8_SIGNED/F16/F32. * @param[out] output Destination tensor. Data types supported: Same as @p input. * @param[in] pool_info Contains pooling operation information described in @ref PoolingLayerInfo. + * @param[out] indices (optional) The indices of the maximal values. Data type supported: U32. */ - void configure(const ICLTensor *input, ICLTensor *output, const PoolingLayerInfo &pool_info); + void configure(const ICLTensor *input, ICLTensor *output, const PoolingLayerInfo &pool_info, ICLTensor *indices = nullptr); /** Static function to check if given info will lead to a valid configuration of @ref CLPoolingLayerKernel * * @param[in] input Source tensor info. Data types supported: QASYMM8/QASYMM8_SIGNED/F16/F32. * @param[in] output Destination tensor info. Data types supported: Same as @p input. * @param[in] pool_info Contains pooling operation information described in @ref PoolingLayerInfo. + * @param[in] indices (optional) The indices of the maximal values. Data type supported: U32. * * @return a status */ - static Status validate(const ITensorInfo *input, const ITensorInfo *output, const PoolingLayerInfo &pool_info); + static Status validate(const ITensorInfo *input, const ITensorInfo *output, const PoolingLayerInfo &pool_info, const ITensorInfo *indices = nullptr); // Inherited methods overridden: void run(const Window &window, cl::CommandQueue &queue) override; @@ -74,6 +76,7 @@ public: public: const ICLTensor *_input; ICLTensor *_output; + ICLTensor *_indices; PoolingLayerInfo _pool_info; DataLayout _data_layout; BorderSize _border_size; |