diff options
author | Manuel Bottini <manuel.bottini@arm.com> | 2019-03-18 15:25:15 +0000 |
---|---|---|
committer | Manuel Bottini <manuel.bottini@arm.com> | 2019-03-28 10:40:27 +0000 |
commit | 60f3911996871e6163ce5a9a2dfca02125db8ecf (patch) | |
tree | a2f03e0183a92ea2cdd9f4f94a918125d062efaa /arm_compute | |
parent | c274195aa61c272f590e9e8fbdc1ca2dc387906c (diff) | |
download | ComputeLibrary-60f3911996871e6163ce5a9a2dfca02125db8ecf.tar.gz |
COMPMID-2008: Add support for "reflect" padding mode in CLPad
Change-Id: I469f8173d5c4a1b6f03b52b9ddd33928dacd1e7b
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/869
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giuseppe Rossini <giuseppe.rossini@arm.com>
Diffstat (limited to 'arm_compute')
-rw-r--r-- | arm_compute/runtime/CL/functions/CLPadLayer.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/arm_compute/runtime/CL/functions/CLPadLayer.h b/arm_compute/runtime/CL/functions/CLPadLayer.h index 0179441af2..33b09d60a2 100644 --- a/arm_compute/runtime/CL/functions/CLPadLayer.h +++ b/arm_compute/runtime/CL/functions/CLPadLayer.h @@ -25,10 +25,13 @@ #define __ARM_COMPUTE_CLPADLAYER_H__ #include "arm_compute/core/CL/kernels/CLCopyKernel.h" -#include "arm_compute/core/CL/kernels/CLFillBorderKernel.h" #include "arm_compute/core/CL/kernels/CLMemsetKernel.h" #include "arm_compute/core/Types.h" +#include "arm_compute/runtime/CL/functions/CLConcatenateLayer.h" + #include "arm_compute/runtime/CL/CLScheduler.h" +#include "arm_compute/runtime/CL/CLTensor.h" +#include "arm_compute/runtime/CL/functions/CLStridedSlice.h" #include "arm_compute/runtime/IFunction.h" namespace arm_compute @@ -77,9 +80,18 @@ public: void run() override; private: - CLCopyKernel _copy_kernel; - CLFillBorderKernel _fillborder_kernel; - CLMemsetKernel _memset_kernel; + void configure_constant_mode(ICLTensor *input, ICLTensor *output, const PaddingList &padding, const PixelValue constant_value); + void configure_reflect_symmetric_mode(ICLTensor *input, ICLTensor *output); + + CLCopyKernel _copy_kernel; + PaddingMode _mode; + PaddingList _padding; + CLMemsetKernel _memset_kernel; + size_t _num_dimensions; + std::unique_ptr<CLStridedSlice[]> _slice_functions; + std::unique_ptr<CLConcatenateLayer[]> _concat_functions; + std::unique_ptr<CLTensor[]> _slice_results; + std::unique_ptr<CLTensor[]> _concat_results; }; } // namespace arm_compute #endif /*__ARM_COMPUTE_PADLAYER_H__ */ |