aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/WorkloadFactory.cpp
diff options
context:
space:
mode:
authorDerek Lamberti <derek.lamberti@arm.com>2019-12-05 14:41:20 +0000
committerDerek Lamberti <derek.lamberti@arm.com>2019-12-09 14:22:15 +0000
commit6a5e5e8b7e56f927d70ced3203d6e16df3fdd189 (patch)
treed961fa1349c6a51a595e51c29c1df42419a7a426 /src/backends/backendsCommon/WorkloadFactory.cpp
parente5b8eb9fe8147a0849db08ef0898a0e8bef920b4 (diff)
downloadarmnn-6a5e5e8b7e56f927d70ced3203d6e16df3fdd189.tar.gz
IVGCVSW-4227 Add CpuAcc backend support for DetectionPostProcess
Change-Id: I318bf92b8d1db593d9c30b9b4412bfecbe65bc12 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Diffstat (limited to 'src/backends/backendsCommon/WorkloadFactory.cpp')
-rw-r--r--src/backends/backendsCommon/WorkloadFactory.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/backends/backendsCommon/WorkloadFactory.cpp b/src/backends/backendsCommon/WorkloadFactory.cpp
index 1d4ed7e159..805ec7ba5f 100644
--- a/src/backends/backendsCommon/WorkloadFactory.cpp
+++ b/src/backends/backendsCommon/WorkloadFactory.cpp
@@ -272,12 +272,24 @@ bool IWorkloadFactory::IsLayerSupported(const BackendId& backendId,
}
case LayerType::DetectionPostProcess:
{
- const TensorInfo& input0 = layer.GetInputSlot(0).GetConnection()->GetTensorInfo();
- const TensorInfo& input1 = layer.GetInputSlot(1).GetConnection()->GetTensorInfo();
auto cLayer = boost::polymorphic_downcast<const DetectionPostProcessLayer*>(&layer);
+ const TensorInfo& boxEncodings = layer.GetInputSlot(0).GetConnection()->GetTensorInfo();
+ const TensorInfo& scores = layer.GetInputSlot(1).GetConnection()->GetTensorInfo();
+ const TensorInfo& anchors = cLayer->m_Anchors->GetTensorInfo();
+
+ const TensorInfo& detectionBoxes = layer.GetOutputSlot(0).GetTensorInfo();
+ const TensorInfo& detectionClasses = layer.GetOutputSlot(1).GetTensorInfo();
+ const TensorInfo& detectionScores = layer.GetOutputSlot(2).GetTensorInfo();
+ const TensorInfo& numDetections = layer.GetOutputSlot(3).GetTensorInfo();
+
const DetectionPostProcessDescriptor& descriptor = cLayer->GetParameters();
- result = layerSupportObject->IsDetectionPostProcessSupported(input0,
- input1,
+ result = layerSupportObject->IsDetectionPostProcessSupported(boxEncodings,
+ scores,
+ anchors,
+ detectionBoxes,
+ detectionClasses,
+ detectionScores,
+ numDetections,
descriptor,
reason);
break;