aboutsummaryrefslogtreecommitdiff
path: root/tests/ExecuteNetwork/IExecutor.hpp
diff options
context:
space:
mode:
authorTeresa Charlin <teresa.charlinreyes@arm.com>2022-07-07 14:24:59 +0100
committerTeresaARM <teresa.charlinreyes@arm.com>2022-07-28 08:42:54 +0000
commitfbd2817039db8f856d75cf9d3d3980baeaa554c9 (patch)
treec383d2692365a8166b949f90267e152f0624704f /tests/ExecuteNetwork/IExecutor.hpp
parent9828282626c9fc1e10e64f2702a81bfe2fd7eae4 (diff)
downloadarmnn-fbd2817039db8f856d75cf9d3d3980baeaa554c9.tar.gz
Revert "Revert "IVGCVSW-6650 Refactor ExecuteNetwork""
This reverts commit 1a7f033768acb27da11503bd29abb468d2e77f9e. List of fixes to be able to add this code again: * "emplacing_back" the vector inputTensors into the vector m_InputTensorsVec outside the for loop * GetIOInfo() uses IOptimizedNetwork instead of INetwork, where the infered shapes are not saved * Add missing data type Signed32 to SetupInputsAndOutputs() * PrintOutputTensors() prints the actual output without dequantizing * Add profilingDetailsMethod as input in networkProperties in ArmNNExecutor constructor * Fix typos Change-Id: I91de166f87228282db3efa27431fe91458834442 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ic6634d48892d11e5f146cdf285e1e333e93e9937 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Diffstat (limited to 'tests/ExecuteNetwork/IExecutor.hpp')
-rw-r--r--tests/ExecuteNetwork/IExecutor.hpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ExecuteNetwork/IExecutor.hpp b/tests/ExecuteNetwork/IExecutor.hpp
new file mode 100644
index 0000000000..4ed6cbde84
--- /dev/null
+++ b/tests/ExecuteNetwork/IExecutor.hpp
@@ -0,0 +1,22 @@
+//
+// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+#include <vector>
+
+/// IExecutor executes a network
+class IExecutor
+{
+public:
+ /// Execute the given network
+ /// @return std::vector<const void*> A type erased vector of the outputs,
+ /// that can be compared with the output of another IExecutor
+ virtual std::vector<const void*> Execute() = 0;
+ /// Print available information about the network
+ virtual void PrintNetworkInfo() = 0;
+ /// Compare the output with the result of another IExecutor
+ virtual void CompareAndPrintResult(std::vector<const void*> otherOutput) = 0;
+ virtual ~IExecutor(){};
+};