ArmNN
 25.11
Loading...
Searching...
No Matches
TfLiteParser.cpp File Reference
#include "TfLiteParser.hpp"
#include "armnnTfLiteParser/Version.hpp"
#include "armnn/LstmParams.hpp"
#include <armnn/BackendOptions.hpp>
#include <armnn/Descriptors.hpp>
#include <armnn/Exceptions.hpp>
#include <armnn/Logging.hpp>
#include <armnn/Tensor.hpp>
#include <armnnUtils/TensorUtils.hpp>
#include <armnn/TypesUtils.hpp>
#include <armnn/utility/Assert.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
#include <armnn/utility/NumericCast.hpp>
#include <armnnUtils/Permute.hpp>
#include <armnnUtils/Filesystem.hpp>
#include <ParserHelper.hpp>
#include <VerificationHelpers.hpp>
#include <schema_generated.h>
#include <flatbuffers/flexbuffers.h>
#include <fmt/format.h>
#include <algorithm>
#include <iostream>
#include <limits>
#include <numeric>
Include dependency graph for TfLiteParser.cpp:

Go to the source code of this file.

Classes

struct  CheckLocation

Namespaces

namespace  armnnTfLiteParser

Macros

#define FLATBUFFERS_LOCALE_INDEPENDENT   0
#define ARMNN_THROW_PARSE_EXCEPTION(msg)
#define CHECK_SUBGRAPH(MODEL, SUBGRAPH_INDEX)
#define CHECK_MODEL(MODEL, SUBGRAPH_INDEX, OPERATOR_INDEX)
#define CHECK_TENSOR(MODEL, SUBGRAPH_INDEX, TENSOR_INDEX)
#define CHECK_TENSOR_PTR(TENSOR_PTR)
#define CHECK_BUFFER(MODEL, BUFFER_INDEX)
#define CHECK_BUFFER_SIZE(BUFFER_PTR, TENSOR_INFO, BUFFER_ID)
#define CHECK_SUPPORTED_FUSED_ACTIVATION(OPTION, SUBGRAPH_INDEX, OPERATOR_INDEX)

Functions

unsigned int ComputeWrappedIndex (int idx, unsigned int numDimsIn)

Macro Definition Documentation

◆ ARMNN_THROW_PARSE_EXCEPTION

#define ARMNN_THROW_PARSE_EXCEPTION ( msg)
Value:
{ \
throw armnn::ParseException( static_cast<const std::stringstream&>( std::stringstream() << msg \
<< ": " \
<< CHECK_LOCATION().AsString()).str()); \
}
#define CHECK_LOCATION()

Definition at line 45 of file TfLiteParser.cpp.

45#define ARMNN_THROW_PARSE_EXCEPTION(msg) \
46 { \
47 throw armnn::ParseException( static_cast<const std::stringstream&>( std::stringstream() << msg \
48 << ": " \
49 << CHECK_LOCATION().AsString()).str()); \
50 }

◆ CHECK_BUFFER

#define CHECK_BUFFER ( MODEL,
BUFFER_INDEX )
Value:
CheckBuffer(MODEL, BUFFER_INDEX, CHECK_LOCATION())

Definition at line 255 of file TfLiteParser.cpp.

255#define CHECK_BUFFER(MODEL, BUFFER_INDEX) \
256 CheckBuffer(MODEL, BUFFER_INDEX, CHECK_LOCATION())

Referenced by TfLiteParserImpl::GetBuffer().

◆ CHECK_BUFFER_SIZE

#define CHECK_BUFFER_SIZE ( BUFFER_PTR,
TENSOR_INFO,
BUFFER_ID )
Value:
CheckBufferSize(BUFFER_PTR, TENSOR_INFO, BUFFER_ID, CHECK_LOCATION())

Definition at line 346 of file TfLiteParser.cpp.

346#define CHECK_BUFFER_SIZE(BUFFER_PTR, TENSOR_INFO, BUFFER_ID) \
347 CheckBufferSize(BUFFER_PTR, TENSOR_INFO, BUFFER_ID, CHECK_LOCATION())

◆ CHECK_MODEL

#define CHECK_MODEL ( MODEL,
SUBGRAPH_INDEX,
OPERATOR_INDEX )
Value:
CheckModel(MODEL, SUBGRAPH_INDEX, OPERATOR_INDEX, CHECK_LOCATION())

Definition at line 186 of file TfLiteParser.cpp.

186#define CHECK_MODEL(MODEL, SUBGRAPH_INDEX, OPERATOR_INDEX) \
187 CheckModel(MODEL, SUBGRAPH_INDEX, OPERATOR_INDEX, CHECK_LOCATION())

Referenced by TfLiteParserImpl::GetInputs(), TfLiteParserImpl::GetInputTensorIds(), TfLiteParserImpl::GetOutputs(), and TfLiteParserImpl::GetOutputTensorIds().

◆ CHECK_SUBGRAPH

#define CHECK_SUBGRAPH ( MODEL,
SUBGRAPH_INDEX )
Value:
CheckSubgraph(MODEL, SUBGRAPH_INDEX, CHECK_LOCATION())

Definition at line 144 of file TfLiteParser.cpp.

144#define CHECK_SUBGRAPH(MODEL, SUBGRAPH_INDEX) \
145 CheckSubgraph(MODEL, SUBGRAPH_INDEX, CHECK_LOCATION())

Referenced by TfLiteParserImpl::GetNetworkInputBindingInfo(), TfLiteParserImpl::GetNetworkOutputBindingInfo(), TfLiteParserImpl::GetSubgraphInputs(), TfLiteParserImpl::GetSubgraphInputTensorNames(), TfLiteParserImpl::GetSubgraphOutputs(), and TfLiteParserImpl::GetSubgraphOutputTensorNames().

◆ CHECK_SUPPORTED_FUSED_ACTIVATION

#define CHECK_SUPPORTED_FUSED_ACTIVATION ( OPTION,
SUBGRAPH_INDEX,
OPERATOR_INDEX )
Value:
do { \
if (IsActivationSupported(OPTION->fused_activation_function) == false) \
{ \
throw ParseException( \
fmt::format("TfLite parser doesn't support fused activation: " \
"{}/{} in {} subgraph:{} operator:{} at {}", \
OPTION->fused_activation_function, \
tflite::EnumNameActivationFunctionType(\
OPTION->fused_activation_function), \
__func__, \
SUBGRAPH_INDEX, \
OPERATOR_INDEX, \
CHECK_LOCATION().FileLine())); \
} \
} while(false)

Definition at line 367 of file TfLiteParser.cpp.

367#define CHECK_SUPPORTED_FUSED_ACTIVATION(OPTION, SUBGRAPH_INDEX, OPERATOR_INDEX) \
368 do { \
369 if (IsActivationSupported(OPTION->fused_activation_function) == false) \
370 { \
371 throw ParseException( \
372 fmt::format("TfLite parser doesn't support fused activation: " \
373 "{}/{} in {} subgraph:{} operator:{} at {}", \
374 OPTION->fused_activation_function, \
375 tflite::EnumNameActivationFunctionType(\
376 OPTION->fused_activation_function), \
377 __func__, \
378 SUBGRAPH_INDEX, \
379 OPERATOR_INDEX, \
380 CHECK_LOCATION().FileLine())); \
381 } \
382 } while(false)

◆ CHECK_TENSOR

#define CHECK_TENSOR ( MODEL,
SUBGRAPH_INDEX,
TENSOR_INDEX )
Value:
CheckTensor(MODEL, SUBGRAPH_INDEX, TENSOR_INDEX, CHECK_LOCATION())

Definition at line 207 of file TfLiteParser.cpp.

207#define CHECK_TENSOR(MODEL, SUBGRAPH_INDEX, TENSOR_INDEX) \
208 CheckTensor(MODEL, SUBGRAPH_INDEX, TENSOR_INDEX, CHECK_LOCATION())

Referenced by TfLiteParserImpl::GetOutputs(), and TfLiteParserImpl::GetSubgraphInputs().

◆ CHECK_TENSOR_PTR

#define CHECK_TENSOR_PTR ( TENSOR_PTR)
Value:
CheckTensorPtr(TENSOR_PTR, CHECK_LOCATION())

Definition at line 220 of file TfLiteParser.cpp.

220#define CHECK_TENSOR_PTR(TENSOR_PTR) \
221 CheckTensorPtr(TENSOR_PTR, CHECK_LOCATION())

◆ FLATBUFFERS_LOCALE_INDEPENDENT

#define FLATBUFFERS_LOCALE_INDEPENDENT   0

Definition at line 8 of file TfLiteParser.cpp.