ArmNN  NotReleased
ITfLiteParser.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
7 #include "armnn/Types.hpp"
8 #include "armnn/NetworkFwd.hpp"
9 #include "armnn/Tensor.hpp"
10 #include "armnn/INetwork.hpp"
11 #include "armnn/Optional.hpp"
12 
13 #include <memory>
14 #include <map>
15 #include <vector>
16 
18 {
19 
21 
22 class ITfLiteParser;
23 using ITfLiteParserPtr = std::unique_ptr<ITfLiteParser, void(*)(ITfLiteParser* parser)>;
24 
26 {
27 public:
29  {
32 
34  };
35 
38  static void Destroy(ITfLiteParser* parser);
39 
41  virtual armnn::INetworkPtr CreateNetworkFromBinaryFile(const char* graphFile) = 0;
42 
44  virtual armnn::INetworkPtr CreateNetworkFromBinary(const std::vector<uint8_t> & binaryContent) = 0;
45 
48  virtual BindingPointInfo GetNetworkInputBindingInfo(size_t subgraphId,
49  const std::string& name) const = 0;
50 
53  virtual BindingPointInfo GetNetworkOutputBindingInfo(size_t subgraphId,
54  const std::string& name) const = 0;
55 
57  virtual size_t GetSubgraphCount() const = 0;
58 
60  virtual std::vector<std::string> GetSubgraphInputTensorNames(size_t subgraphId) const = 0;
61 
63  virtual std::vector<std::string> GetSubgraphOutputTensorNames(size_t subgraphId) const = 0;
64 
65 protected:
66  virtual ~ITfLiteParser() {};
67 };
68 
69 }
DataLayout::NHWC false
std::pair< armnn::LayerBindingId, armnn::TensorInfo > BindingPointInfo
Definition: Tensor.hpp:146
static ITfLiteParserPtr Create(const armnn::Optional< TfLiteParserOptions > &options=armnn::EmptyOptional())
virtual BindingPointInfo GetNetworkInputBindingInfo(size_t subgraphId, const std::string &name) const =0
virtual armnn::INetworkPtr CreateNetworkFromBinary(const std::vector< uint8_t > &binaryContent)=0
Create the network from a flatbuffers binary.
static void Destroy(ITfLiteParser *parser)
static ITfLiteParser * CreateRaw(const armnn::Optional< TfLiteParserOptions > &options=armnn::EmptyOptional())
virtual armnn::INetworkPtr CreateNetworkFromBinaryFile(const char *graphFile)=0
Create the network from a flatbuffers binary file on disk.
std::unique_ptr< ITfLiteParser, void(*)(ITfLiteParser *parser)> ITfLiteParserPtr
std::unique_ptr< INetwork, void(*)(INetwork *network)> INetworkPtr
Definition: INetwork.hpp:85
armnn::BindingPointInfo BindingPointInfo
virtual std::vector< std::string > GetSubgraphOutputTensorNames(size_t subgraphId) const =0
Return the output tensor names for a given subgraph.
virtual size_t GetSubgraphCount() const =0
Return the number of subgraphs in the parsed model.
virtual std::vector< std::string > GetSubgraphInputTensorNames(size_t subgraphId) const =0
Return the input tensor names for a given subgraph.
virtual BindingPointInfo GetNetworkOutputBindingInfo(size_t subgraphId, const std::string &name) const =0
armnn::Runtime::CreationOptions::ExternalProfilingOptions options