aboutsummaryrefslogtreecommitdiff
path: root/tests/ExecuteNetwork/TfliteExecutor.hpp
diff options
context:
space:
mode:
authorTeresa Charlin <teresa.charlinreyes@arm.com>2022-07-07 14:24:59 +0100
committerNikhil Raj <nikhil.raj@arm.com>2022-07-28 15:08:22 +0100
commit83b429107a4bb1fe84e756c29d8ad3771d4beeee (patch)
treec383d2692365a8166b949f90267e152f0624704f /tests/ExecuteNetwork/TfliteExecutor.hpp
parent46f298657c14c1b0a4b0690ecce49f64dc0a7010 (diff)
downloadarmnn-83b429107a4bb1fe84e756c29d8ad3771d4beeee.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/TfliteExecutor.hpp')
-rw-r--r--tests/ExecuteNetwork/TfliteExecutor.hpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/ExecuteNetwork/TfliteExecutor.hpp b/tests/ExecuteNetwork/TfliteExecutor.hpp
new file mode 100644
index 0000000000..623d6357eb
--- /dev/null
+++ b/tests/ExecuteNetwork/TfliteExecutor.hpp
@@ -0,0 +1,35 @@
+//
+// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+
+#include "IExecutor.hpp"
+#include "NetworkExecutionUtils/NetworkExecutionUtils.hpp"
+#include "ExecuteNetworkProgramOptions.hpp"
+#include "armnn/utility/NumericCast.hpp"
+#include "armnn/utility/Timer.hpp"
+
+#include <armnn_delegate.hpp>
+#include <DelegateOptions.hpp>
+
+#include <tensorflow/lite/c/common.h>
+#include <tensorflow/lite/interpreter.h>
+#include <tensorflow/lite/kernels/register.h>
+
+using namespace tflite;
+class TfLiteExecutor : public IExecutor
+{
+public:
+ TfLiteExecutor(const ExecuteNetworkParams& m_Params);
+
+ std::vector<const void*> Execute() override;
+ void PrintNetworkInfo() override{};
+ void CompareAndPrintResult(std::vector<const void*> otherOutput) override;
+
+private:
+ std::unique_ptr<tflite::FlatBufferModel> m_Model;
+ const ExecuteNetworkParams& m_Params;
+ std::unique_ptr<Interpreter> m_TfLiteInterpreter;
+};
+