| // |
| // 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; |
| }; |
| |