blob: e549c7e3679fe36fb2640f98c00185131561e465 [file] [log] [blame]
Derek Lamberti6a5e5e82019-12-05 14:41:20 +00001//
Teresa Charlin588cbdf2022-01-19 15:55:37 +00002// Copyright © 2019 Arm Ltd and Contributors. All rights reserved.
Derek Lamberti6a5e5e82019-12-05 14:41:20 +00003// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Teresa Charlin588cbdf2022-01-19 15:55:37 +00008#include "NeonBaseWorkload.hpp"
Derek Lamberti6a5e5e82019-12-05 14:41:20 +00009
10#include <arm_compute/core/Error.h>
James Conroy99bf80d2020-02-20 11:14:49 +000011#include <arm_compute/runtime/NEON/functions/NEDetectionPostProcessLayer.h>
Derek Lamberti6a5e5e82019-12-05 14:41:20 +000012
13namespace armnn
14{
15
16arm_compute::Status NeonDetectionPostProcessValidate(const TensorInfo& boxEncodings,
17 const TensorInfo& scores,
18 const TensorInfo& anchors,
19 const TensorInfo& detectionBoxes,
20 const TensorInfo& detectionClasses,
21 const TensorInfo& detectionScores,
22 const TensorInfo& numDetections,
Keith Davis2d0679f2021-08-05 11:35:00 +010023 const DetectionPostProcessDescriptor &descriptor);
Derek Lamberti6a5e5e82019-12-05 14:41:20 +000024
Teresa Charlin588cbdf2022-01-19 15:55:37 +000025class NeonDetectionPostProcessWorkload : public NeonBaseWorkload<DetectionPostProcessQueueDescriptor>
Derek Lamberti6a5e5e82019-12-05 14:41:20 +000026{
27public:
28 NeonDetectionPostProcessWorkload(
29 const DetectionPostProcessQueueDescriptor& descriptor,
30 const WorkloadInfo& info);
31 virtual void Execute() const override;
32
33private:
James Conroy99bf80d2020-02-20 11:14:49 +000034 mutable arm_compute::NEDetectionPostProcessLayer m_Func;
Derek Lamberti6a5e5e82019-12-05 14:41:20 +000035
36 std::unique_ptr<arm_compute::Tensor> m_Anchors;
37
38};
39
40} // namespace armnn