21.02
|
NE Function to generate the detection output based on center size encoded boxes, class prediction and anchors by doing non maximum suppression. More...
#include <NEDetectionPostProcessLayer.h>
Public Member Functions | |
NEDetectionPostProcessLayer (std::shared_ptr< IMemoryManager > memory_manager=nullptr) | |
Constructor. More... | |
NEDetectionPostProcessLayer (const NEDetectionPostProcessLayer &)=delete | |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
NEDetectionPostProcessLayer & | operator= (const NEDetectionPostProcessLayer &)=delete |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
~NEDetectionPostProcessLayer ()=default | |
Default destructor. More... | |
void | configure (const ITensor *input_box_encoding, const ITensor *input_score, const ITensor *input_anchors, ITensor *output_boxes, ITensor *output_classes, ITensor *output_scores, ITensor *num_detection, DetectionPostProcessLayerInfo info=DetectionPostProcessLayerInfo()) |
Configure the detection output layer NE function. More... | |
void | run () override |
Run the kernels contained in the function. More... | |
Public Member Functions inherited from IFunction | |
virtual | ~IFunction ()=default |
Destructor. More... | |
virtual void | prepare () |
Prepare the function for executing. More... | |
Static Public Member Functions | |
static Status | validate (const ITensorInfo *input_box_encoding, const ITensorInfo *input_class_score, const ITensorInfo *input_anchors, ITensorInfo *output_boxes, ITensorInfo *output_classes, ITensorInfo *output_scores, ITensorInfo *num_detection, DetectionPostProcessLayerInfo info=DetectionPostProcessLayerInfo()) |
Static function to check if given info will lead to a valid configuration of NEDetectionPostProcessLayer. More... | |
NE Function to generate the detection output based on center size encoded boxes, class prediction and anchors by doing non maximum suppression.
Definition at line 47 of file NEDetectionPostProcessLayer.h.
NEDetectionPostProcessLayer | ( | std::shared_ptr< IMemoryManager > | memory_manager = nullptr | ) |
Constructor.
Definition at line 36 of file NEDetectionPostProcessLayer.cpp.
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
default |
Default destructor.
void configure | ( | const ITensor * | input_box_encoding, |
const ITensor * | input_score, | ||
const ITensor * | input_anchors, | ||
ITensor * | output_boxes, | ||
ITensor * | output_classes, | ||
ITensor * | output_scores, | ||
ITensor * | num_detection, | ||
DetectionPostProcessLayerInfo | info = DetectionPostProcessLayerInfo() |
||
) |
Configure the detection output layer NE function.
[in] | input_box_encoding | The bounding box input tensor. Data types supported: QASYMM8/QASYMM8_SIGNED/F32. |
[in] | input_score | The class prediction input tensor. Data types supported: same as input_box_encoding . |
[in] | input_anchors | The anchors input tensor. Data types supported: same as input_box_encoding . |
[out] | output_boxes | The boxes output tensor. Data types supported: F32. |
[out] | output_classes | The classes output tensor. Data types supported: Same as output_boxes . |
[out] | output_scores | The scores output tensor. Data types supported: Same as output_boxes . |
[out] | num_detection | The number of output detection. Data types supported: Same as output_boxes . |
[in] | info | (Optional) DetectionPostProcessLayerInfo information. |
Definition at line 41 of file NEDetectionPostProcessLayer.cpp.
References TensorAllocator::allocate(), Tensor::allocator(), ARM_COMPUTE_ERROR_ON_NULLPTR, ARM_COMPUTE_ERROR_THROW_ON, NEDequantizationLayer::configure(), CPPDetectionPostProcessLayer::configure(), ITensorInfo::data_type(), DetectionPostProcessLayerInfo::detection_per_class(), ITensor::info(), arm_compute::test::validation::info, DetectionPostProcessLayerInfo::iou_threshold(), arm_compute::is_data_type_quantized(), MemoryGroup::manage(), DetectionPostProcessLayerInfo::max_classes_per_detection(), DetectionPostProcessLayerInfo::max_detections(), DetectionPostProcessLayerInfo::nms_score_threshold(), DetectionPostProcessLayerInfo::num_classes(), DetectionPostProcessLayerInfo::scale_value_h(), DetectionPostProcessLayerInfo::scale_value_w(), DetectionPostProcessLayerInfo::scale_value_x(), DetectionPostProcessLayerInfo::scale_value_y(), DetectionPostProcessLayerInfo::use_regular_nms(), and NEDetectionPostProcessLayer::validate().
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
overridevirtual |
Run the kernels contained in the function.
For Neon kernels:
For OpenCL kernels:
Implements IFunction.
Definition at line 86 of file NEDetectionPostProcessLayer.cpp.
References INESimpleFunctionNoBorder::run(), and CPPDetectionPostProcessLayer::run().
|
static |
Static function to check if given info will lead to a valid configuration of NEDetectionPostProcessLayer.
[in] | input_box_encoding | The bounding box input tensor info. Data types supported: QASYMM8/QASYMM8_SIGNED/F32. |
[in] | input_class_score | The class prediction input tensor info. Data types supported: same as input_box_encoding . |
[in] | input_anchors | The anchors input tensor info. Data types supported: same as input_box_encoding . |
[in] | output_boxes | The output tensor info. Data types supported: F32. |
[in] | output_classes | The output tensor info. Data types supported: Same as output_boxes . |
[in] | output_scores | The output tensor info. Data types supported: Same as output_boxes . |
[in] | num_detection | The number of output detection tensor info. Data types supported: Same as output_boxes . |
[in] | info | (Optional) DetectionPostProcessLayerInfo information. |
Definition at line 72 of file NEDetectionPostProcessLayer.cpp.
References ARM_COMPUTE_RETURN_ON_ERROR, ICloneable< T >::clone(), ITensorInfo::data_type(), arm_compute::F32, arm_compute::is_data_type_quantized(), NEDequantizationLayer::validate(), and CPPDetectionPostProcessLayer::validate().
Referenced by NEDetectionPostProcessLayer::configure(), and arm_compute::test::validation::DATA_TEST_CASE().