24.02.1
|
Interface for the ROI pooling layer kernel. More...
#include <NEROIPoolingLayerKernel.h>
Public Member Functions | |
const char * | name () const override |
Name of the kernel. More... | |
NEROIPoolingLayerKernel () | |
Default constructor. More... | |
NEROIPoolingLayerKernel (const NEROIPoolingLayerKernel &)=delete | |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
NEROIPoolingLayerKernel & | operator= (const NEROIPoolingLayerKernel &)=delete |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
NEROIPoolingLayerKernel (NEROIPoolingLayerKernel &&)=default | |
Allow instances of this class to be moved. More... | |
NEROIPoolingLayerKernel & | operator= (NEROIPoolingLayerKernel &&)=default |
Allow instances of this class to be moved. More... | |
~NEROIPoolingLayerKernel ()=default | |
Default destructor. More... | |
void | configure (const ITensor *input, const ITensor *rois, const ITensor *output, const ROIPoolingLayerInfo &pool_info) |
Set the input and output tensors. More... | |
void | run (const Window &window, const ThreadInfo &info) override |
Execute the kernel on the passed window. More... | |
Public Member Functions inherited from ICPPKernel | |
virtual | ~ICPPKernel ()=default |
Default destructor. 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 void | run_op (ITensorPack &tensors, const Window &window, const ThreadInfo &info) |
Execute the kernel on the passed window. More... | |
virtual size_t | get_mws (const CPUInfo &platform, size_t thread_count) const |
Return minimum workload size of the relevant kernel. More... | |
Public Member Functions inherited from IKernel | |
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 *input, const ITensorInfo *rois, const ITensorInfo *output, const ROIPoolingLayerInfo &pool_info) |
Static function to check if given info will lead to a valid configuration of NEROIPoolingLayerKernel. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from ICPPKernel | |
static constexpr size_t | default_mws = 1 |
Interface for the ROI pooling layer kernel.
Definition at line 33 of file NEROIPoolingLayerKernel.h.
Default constructor.
Definition at line 127 of file NEROIPoolingLayerKernel.cpp.
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
default |
Allow instances of this class to be moved.
|
default |
Default destructor.
void configure | ( | const ITensor * | input, |
const ITensor * | rois, | ||
const ITensor * | output, | ||
const ROIPoolingLayerInfo & | pool_info | ||
) |
Set the input and output tensors.
[in] | input | Source tensor. Data types supported: QASYMM8/F32 |
[in] | rois | ROIs tensor, it is a 2D tensor of size [5, N] (where N is the number of ROIs) containing top left and bottom right corner as coordinate of an image and batch_id of ROI [ batch_id, x1, y1, x2, y2 ]. Data types supported: U16 |
[out] | output | Destination tensor. Data types supported: Same as input . |
[in] | pool_info | Contains pooling operation information described in ROIPoolingLayerInfo. |
output
tensor must be the same as that specified by pool_info
's pooled width and pooled height. output
tensor and input
tensor must be the same. output
tensor must be the same as the number of elements in rois
tensor. Definition at line 141 of file NEROIPoolingLayerKernel.cpp.
References ARM_COMPUTE_ERROR_ON, ARM_COMPUTE_ERROR_ON_MISMATCHING_DATA_TYPES, ARM_COMPUTE_ERROR_ON_NULLPTR, ARM_COMPUTE_ERROR_THROW_ON, arm_compute::auto_init_if_empty(), ITensorInfo::dimension(), Window::DimX, Window::DimY, ITensor::info(), arm_compute::test::validation::input, arm_compute::test::validation::output_shape, ROIPoolingLayerInfo::pooled_height(), ROIPoolingLayerInfo::pooled_width(), ITensorInfo::quantization_info(), Window::set(), arm_compute::cpu::kernels::validate_arguments(), and IKernel::window().
|
inlineoverridevirtual |
Name of the kernel.
Implements ICPPKernel.
Definition at line 36 of file NEROIPoolingLayerKernel.h.
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
default |
Allow instances of this class to be moved.
|
overridevirtual |
Execute the kernel on the passed window.
[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 176 of file NEROIPoolingLayerKernel.cpp.
References ARM_COMPUTE_ERROR, ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW, ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL, ARM_COMPUTE_UNUSED, ITensor::buffer(), arm_compute::test::validation::data_type, ITensorInfo::data_type(), ITensorInfo::dimension(), Window::DimX, Window::DimY, Window::DimZ, Window::Dimension::end(), arm_compute::F32, ITensor::info(), arm_compute::test::validation::info, ROIPoolingLayerInfo::pooled_height(), ROIPoolingLayerInfo::pooled_width(), arm_compute::QASYMM8, arm_compute::support::cpp11::round(), ROIPoolingLayerInfo::spatial_scale(), Window::Dimension::start(), IKernel::window(), and Window::x().
|
static |
Static function to check if given info will lead to a valid configuration of NEROIPoolingLayerKernel.
[in] | input | Source tensor info. Data types supported: QASYMM8/F32. |
[in] | rois | ROIs tensor info. Data types supported: U16 |
[in] | output | Destination tensor info. Data types supported: Same as input . |
[in] | pool_info | Contains pooling operation information described in ROIPoolingLayerInfo. |
output
tensor must be the same as pool_info
's pooled width and pooled height. output
should be the same as the datatype of input
output
tensor must be the same as the number of elements in rois
array.Definition at line 132 of file NEROIPoolingLayerKernel.cpp.
References ARM_COMPUTE_RETURN_ON_ERROR, arm_compute::test::validation::input, and arm_compute::cpu::kernels::validate_arguments().
Referenced by NEROIPoolingLayer::validate().