21.02
|
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, 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... | |
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... | |
Interface for the ROI pooling layer kernel.
Definition at line 36 of file NEROIPoolingLayerKernel.h.
Default constructor.
Definition at line 38 of file NEROIPoolingLayerKernel.cpp.
Referenced by NEROIPoolingLayerKernel::name().
|
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.
Referenced by NEROIPoolingLayerKernel::name().
void configure | ( | const ITensor * | input, |
const ITensor * | rois, | ||
ITensor * | output, | ||
const ROIPoolingLayerInfo & | pool_info | ||
) |
Set the input and output tensors.
[in] | input | Source tensor. Data types supported: 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 43 of file NEROIPoolingLayerKernel.cpp.
References ARM_COMPUTE_ERROR_ON, ARM_COMPUTE_ERROR_ON_CPU_F16_UNSUPPORTED, ARM_COMPUTE_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN, ARM_COMPUTE_ERROR_ON_MISMATCHING_DATA_TYPES, ARM_COMPUTE_ERROR_ON_NULLPTR, arm_compute::auto_init_if_empty(), ITensorInfo::data_type(), ITensorInfo::dimension(), Window::DimX, Window::DimY, arm_compute::F32, ITensor::info(), arm_compute::test::validation::input, ITensorInfo::num_dimensions(), arm_compute::test::validation::output_shape, ROIPoolingLayerInfo::pooled_height(), ROIPoolingLayerInfo::pooled_width(), Window::set(), Dimensions< T >::set_num_dimensions(), ITensorInfo::set_valid_region(), ITensorInfo::tensor_shape(), ITensorInfo::total_size(), arm_compute::U16, and IKernel::window().
Referenced by NEROIPoolingLayerKernel::name().
|
inlineoverridevirtual |
Name of the kernel.
Implements ICPPKernel.
Definition at line 39 of file NEROIPoolingLayerKernel.h.
References NEROIPoolingLayerKernel::configure(), arm_compute::test::validation::info, arm_compute::test::validation::input, NEROIPoolingLayerKernel::NEROIPoolingLayerKernel(), NEROIPoolingLayerKernel::operator=(), NEROIPoolingLayerKernel::run(), IKernel::window(), and NEROIPoolingLayerKernel::~NEROIPoolingLayerKernel().
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
Referenced by NEROIPoolingLayerKernel::name().
|
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 89 of file NEROIPoolingLayerKernel.cpp.
References ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW, ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL, ARM_COMPUTE_UNUSED, ITensor::buffer(), ITensorInfo::dimension(), Window::DimX, Window::DimY, Window::DimZ, Window::Dimension::end(), ITensor::info(), ROIPoolingLayerInfo::pooled_height(), ROIPoolingLayerInfo::pooled_width(), ITensor::ptr_to_element(), arm_compute::support::cpp11::round(), ROIPoolingLayerInfo::spatial_scale(), Window::Dimension::start(), IKernel::window(), and Window::x().
Referenced by NEROIPoolingLayerKernel::name().