From 6940dd720ebb6b3d1df8ca203ab696daefe58189 Mon Sep 17 00:00:00 2001 From: Jim Flynn Date: Fri, 20 Mar 2020 12:25:56 +0000 Subject: renamed Documentation folder 20.02 and added .nojekyll file Signed-off-by: Jim Flynn --- ...n_1_1_ref_detection_post_process_workload.xhtml | 250 +++++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 20.02/classarmnn_1_1_ref_detection_post_process_workload.xhtml (limited to '20.02/classarmnn_1_1_ref_detection_post_process_workload.xhtml') diff --git a/20.02/classarmnn_1_1_ref_detection_post_process_workload.xhtml b/20.02/classarmnn_1_1_ref_detection_post_process_workload.xhtml new file mode 100644 index 0000000000..ad55122788 --- /dev/null +++ b/20.02/classarmnn_1_1_ref_detection_post_process_workload.xhtml @@ -0,0 +1,250 @@ + + + + + + + + + + + + + +ArmNN: RefDetectionPostProcessWorkload Class Reference + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  20.02 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RefDetectionPostProcessWorkload Class Reference
+
+
+ +

#include <RefDetectionPostProcessWorkload.hpp>

+
+Inheritance diagram for RefDetectionPostProcessWorkload:
+
+
+ + +BaseWorkload< DetectionPostProcessQueueDescriptor > +IWorkload + +
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 RefDetectionPostProcessWorkload (const DetectionPostProcessQueueDescriptor &descriptor, const WorkloadInfo &info)
 
virtual void Execute () const override
 
- Public Member Functions inherited from BaseWorkload< DetectionPostProcessQueueDescriptor >
 BaseWorkload (const DetectionPostProcessQueueDescriptor &descriptor, const WorkloadInfo &info)
 
void PostAllocationConfigure () override
 
const DetectionPostProcessQueueDescriptorGetData () const
 
profiling::ProfilingGuid GetGuid () const final
 
- Public Member Functions inherited from IWorkload
virtual ~IWorkload ()
 
virtual void RegisterDebugCallback (const DebugCallbackFunction &)
 
+ + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from BaseWorkload< DetectionPostProcessQueueDescriptor >
const DetectionPostProcessQueueDescriptor m_Data
 
const profiling::ProfilingGuid m_Guid
 
+

Detailed Description

+
+

Definition at line 14 of file RefDetectionPostProcessWorkload.hpp.

+

Constructor & Destructor Documentation

+ +

◆ RefDetectionPostProcessWorkload()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
RefDetectionPostProcessWorkload (const DetectionPostProcessQueueDescriptordescriptor,
const WorkloadInfoinfo 
)
+
+explicit
+
+ +

Definition at line 16 of file RefDetectionPostProcessWorkload.cpp.

+
18  : BaseWorkload<DetectionPostProcessQueueDescriptor>(descriptor, info),
19  m_Anchors(std::make_unique<ScopedCpuTensorHandle>(*(descriptor.m_Anchors))) {}
+
+
+
+

Member Function Documentation

+ +

◆ Execute()

+ +
+
+ + + + + +
+ + + + + + + +
void Execute () const
+
+overridevirtual
+
+ +

Implements IWorkload.

+ +

Definition at line 21 of file RefDetectionPostProcessWorkload.cpp.

+ +

References anchors(), anchorsInfo, ARMNN_SCOPED_PROFILING_EVENT, boxEncodings(), armnn::CpuRef, armnn::DetectionPostProcess, armnn::GetTensorInfo(), BaseWorkload< DetectionPostProcessQueueDescriptor >::m_Data, QueueDescriptor::m_Inputs, QueueDescriptor::m_Outputs, QueueDescriptorWithParameters< LayerDescriptor >::m_Parameters, scores(), and scoresInfo.

+
22 {
23  ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefDetectionPostProcessWorkload_Execute");
24 
25  const TensorInfo& boxEncodingsInfo = GetTensorInfo(m_Data.m_Inputs[0]);
26  const TensorInfo& scoresInfo = GetTensorInfo(m_Data.m_Inputs[1]);
27  const TensorInfo& anchorsInfo = m_Anchors->GetTensorInfo();
28 
29  const TensorInfo& detectionBoxesInfo = GetTensorInfo(m_Data.m_Outputs[0]);
30  const TensorInfo& detectionClassesInfo = GetTensorInfo(m_Data.m_Outputs[1]);
31  const TensorInfo& detectionScoresInfo = GetTensorInfo(m_Data.m_Outputs[2]);
32  const TensorInfo& numDetectionsInfo = GetTensorInfo(m_Data.m_Outputs[3]);
33 
34  auto boxEncodings = MakeDecoder<float>(boxEncodingsInfo, m_Data.m_Inputs[0]->Map());
35  auto scores = MakeDecoder<float>(scoresInfo, m_Data.m_Inputs[1]->Map());
36  auto anchors = MakeDecoder<float>(anchorsInfo, m_Anchors->Map(false));
37 
38  float* detectionBoxes = GetOutputTensorData<float>(0, m_Data);
39  float* detectionClasses = GetOutputTensorData<float>(1, m_Data);
40  float* detectionScores = GetOutputTensorData<float>(2, m_Data);
41  float* numDetections = GetOutputTensorData<float>(3, m_Data);
42 
43  DetectionPostProcess(boxEncodingsInfo, scoresInfo, anchorsInfo,
44  detectionBoxesInfo, detectionClassesInfo,
45  detectionScoresInfo, numDetectionsInfo, m_Data.m_Parameters,
46  *boxEncodings, *scores, *anchors, detectionBoxes,
47  detectionClasses, detectionScores, numDetections);
48 }
CPU Execution: Reference C++ kernels.
+
const DetectionPostProcessQueueDescriptor m_Data
Definition: Workload.hpp:46
+
armnn::TensorInfo anchorsInfo({ 6, 4 }, armnn::DataType::Float32)
+
const TensorInfo & GetTensorInfo(const ITensorHandle *tensorHandle)
float32 helpers
+
std::vector< float > boxEncodings({ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f })
+ +
#define ARMNN_SCOPED_PROFILING_EVENT(backendId, name)
Definition: Profiling.hpp:169
+ +
std::vector< float > scores({ 0.0f, 0.9f, 0.8f, 0.0f, 0.75f, 0.72f, 0.0f, 0.6f, 0.5f, 0.0f, 0.93f, 0.95f, 0.0f, 0.5f, 0.4f, 0.0f, 0.3f, 0.2f })
+
std::vector< ITensorHandle * > m_Outputs
+
armnn::TensorInfo scoresInfo({ 1, 6, 3 }, armnn::DataType::Float32)
+
std::vector< ITensorHandle * > m_Inputs
+
std::vector< float > anchors({ 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 10.5f, 1.0f, 1.0f, 0.5f, 10.5f, 1.0f, 1.0f, 0.5f, 100.5f, 1.0f, 1.0f })
+
+
+
+
The documentation for this class was generated from the following files: +
+
+ + + + -- cgit v1.2.1