23.11
|
Interface for the pooling layer kernel. More...
#include <CpuMaxUnpoolingLayerKernel.h>
Data Structures | |
struct | MaxUnpoolingKernel |
Public Member Functions | |
CpuMaxUnpoolingLayerKernel ()=default | |
Default constructor. More... | |
ARM_COMPUTE_DISALLOW_COPY_ALLOW_MOVE (CpuMaxUnpoolingLayerKernel) | |
void | configure (const ITensorInfo *src, const ITensorInfo *indices, ITensorInfo *dst, const PoolingLayerInfo &pool_info) |
Configure kernel for a given list of arguments. More... | |
void | run_op (ITensorPack &tensors, const Window &window, const ThreadInfo &info) override |
Execute the kernel on the passed window. More... | |
const char * | name () const override |
Name of the kernel. More... | |
![]() | |
virtual | ~ICPPKernel ()=default |
Default destructor. More... | |
virtual void | run (const Window &window, const ThreadInfo &info) |
Execute the kernel on the passed window. More... | |
virtual void | run_nd (const Window &window, const ThreadInfo &info, const Window &thread_locator) |
legacy compatibility layer for implemantions which do not support thread_locator In these cases we simply narrow the interface down the legacy version More... | |
virtual size_t | get_mws (const CPUInfo &platform, size_t thread_count) const |
Return minimum workload size of the relevant kernel. More... | |
![]() | |
IKernel () | |
Constructor. More... | |
virtual | ~IKernel ()=default |
Destructor. More... | |
virtual bool | is_parallelisable () const |
Indicates whether or not the kernel is parallelisable. More... | |
virtual BorderSize | border_size () const |
The size of the border for that kernel. More... | |
const Window & | window () const |
The maximum window the kernel can be executed on. More... | |
bool | is_window_configured () const |
Function to check if the embedded window of this kernel has been configured. More... | |
Static Public Member Functions | |
static Status | validate (const ITensorInfo *src, const ITensorInfo *indices, const ITensorInfo *dst, const PoolingLayerInfo &pool_info) |
Static function to check if given info will lead to a valid configuration of CpuMaxUnpoolingLayerKernel. More... | |
static const std::vector< MaxUnpoolingKernel > & | get_available_kernels () |
![]() | |
static const auto * | get_implementation (const SelectorType &selector, KernelSelectionType selection_type=KernelSelectionType::Supported) |
Micro-kernel selector. More... | |
Additional Inherited Members | |
![]() | |
static constexpr size_t | default_mws = 1 |
Interface for the pooling layer kernel.
Definition at line 37 of file CpuMaxUnpoolingLayerKernel.h.
|
default |
Default constructor.
ARM_COMPUTE_DISALLOW_COPY_ALLOW_MOVE | ( | CpuMaxUnpoolingLayerKernel | ) |
void configure | ( | const ITensorInfo * | src, |
const ITensorInfo * | indices, | ||
ITensorInfo * | dst, | ||
const PoolingLayerInfo & | pool_info | ||
) |
Configure kernel for a given list of arguments.
[in] | src | Source tensor to permute. Data types supported: QASYMM8/QASYMM8_SIGNED/F16/F32. |
[in] | indices | Tensor containing the offset to store the src elements in the dst tensor. CpuMaxUnpooling with indices should precede this function in order to properly reconstruct the output tensor. The tensor shape of this tensor has to be equal to the src tensor shape. Data type supported: U32. |
[out] | dst | Destination tensor. Data types supported: Same as src |
[in] | pool_info | Contains pooling operation information described in PoolingLayerInfo. |
Definition at line 93 of file CpuMaxUnpoolingLayerKernel.cpp.
References ARM_COMPUTE_ERROR_ON_NULLPTR, ARM_COMPUTE_ERROR_THROW_ON, ARM_COMPUTE_UNUSED, arm_compute::auto_init_if_empty(), arm_compute::calculate_max_window(), arm_compute::misc::shape_calculator::compute_unpool_shape(), arm_compute::test::validation::dst, CPUInfo::get(), ICpuKernel< CpuMaxUnpoolingLayerKernel >::get_implementation(), arm_compute::test::validation::output_shape, arm_compute::test::validation::src, and arm_compute::cpu::kernels::validate_arguments().
|
static |
Definition at line 142 of file CpuMaxUnpoolingLayerKernel.cpp.
|
overridevirtual |
Name of the kernel.
Implements ICPPKernel.
Definition at line 137 of file CpuMaxUnpoolingLayerKernel.cpp.
|
overridevirtual |
Execute the kernel on the passed window.
[in] | tensors | A vector containing the tensors to operate on. |
[in] | window | Region on which to execute the kernel. (Must be a region of the window returned by window()) |
[in] | info | Info about executing thread and CPU. |
Reimplemented from ICPPKernel.
Definition at line 124 of file CpuMaxUnpoolingLayerKernel.cpp.
References arm_compute::ACL_DST, arm_compute::ACL_SRC_0, arm_compute::ACL_SRC_1, ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW, ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL, ARM_COMPUTE_UNUSED, arm_compute::test::validation::dst, ITensorPack::get_const_tensor(), ITensorPack::get_tensor(), arm_compute::test::validation::info, arm_compute::test::validation::src, and IKernel::window().
|
static |
Static function to check if given info will lead to a valid configuration of CpuMaxUnpoolingLayerKernel.
[in] | src | Source tensor to permute. Data types supported: QASYMM8/QASYMM8_SIGNED/F16/F32. |
[in] | indices | Tensor info of the indices of the maximal values. Data type supported: U32. |
[out] | dst | Destination tensor. Data types supported: Same as src |
[in] | pool_info | Contains pooling operation information described in PoolingLayerInfo. |
Definition at line 114 of file CpuMaxUnpoolingLayerKernel.cpp.
References ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR, ARM_COMPUTE_RETURN_ON_ERROR, arm_compute::test::validation::dst, arm_compute::test::validation::src, and arm_compute::cpu::kernels::validate_arguments().
Referenced by CpuMaxUnpooling::validate().