260 virtual const BackendId& GetId()
const = 0;
286 virtual const BackendIdSet& GetSupportedBackends()
const = 0;
300 using ArrayType = std::array<ValueType, MaxNumOfTensorDimensions>;
333 +
" at location [" + std::to_string(i) +
"].");
335 return m_DimMappings.at(i);
349 if (m_NumDimMappings != other.m_NumDimMappings)
return false;
350 for (
unsigned int i = 0; i < m_NumDimMappings; ++i)
352 if (m_DimMappings[i] != other.m_DimMappings[i])
return false;
359 bool isInverse = (GetSize() == other.
GetSize());
360 for (
SizeType i = 0; isInverse && (i < GetSize()); ++i)
362 isInverse = (m_DimMappings[other.m_DimMappings[i]] == i);
379 using DebugCallbackFunction = std::function<void(LayerGuid guid, unsigned int slotIndex, ITensorHandle* tensorHandle)>;
388 #define LIST_OF_LAYER_TYPE \ 392 X(BatchNormalization) \ 397 X(ConvertBf16ToFp32) \ 398 X(ConvertFp16ToFp32) \ 399 X(ConvertFp32ToBf16) \ 400 X(ConvertFp32ToFp16) \ 404 X(DepthwiseConvolution2d) \ 406 X(DetectionPostProcess) \ 408 X(ElementwiseUnary) \ 409 X(FakeQuantization) \ 415 X(InstanceNormalization) \ 453 X(TransposeConvolution2d) \ 457 X(UnidirectionalSequenceLstm) \ 469 #define X(name) name, 472 FirstLayer = Activation,
473 LastLayer = UnidirectionalSequenceLstm
std::chrono::high_resolution_clock::time_point HighResolutionClock
Define a timer and associated inference ID for recording execution times.
constexpr unsigned int EXPIRE_RATE
Variable to control expire rate of priority queue.
std::unordered_set< BackendId > BackendIdSet
unsigned int ImportedOutputId
typename ArrayType::const_iterator ConstIterator
Each backend should implement an IBackend.
The padding fields don't count and are ignored.
#define LIST_OF_LAYER_TYPE
This list uses X macro technique.
NormalizationAlgorithmChannel
Copyright (c) 2021 ARM Limited and Contributors.
std::function< void(LayerGuid guid, unsigned int slotIndex, ITensorHandle *tensorHandle)> DebugCallbackFunction
Define the type of callback for the Debug layer to call.
int LayerBindingId
Type of identifiers for bindable layers (inputs, outputs).
ProfilingDetailsMethod
Define the behaviour of the internal profiler when outputting network details.
PaddingMethod
The padding method modifies the output of pooling layers.
Constant weights can be accessed through the descriptors, On the other hand, non-const weights can be...
std::shared_ptr< IBackend > IBackendSharedPtr
BackendCapability
BackendCapability class.
std::array< ValueType, MaxNumOfTensorDimensions > ArrayType
Validate all output shapes.
Device specific knowledge to be passed to the optimizer.
constexpr unsigned int LOWEST_CAPTURE_PERIOD
The lowest performance data capture interval we support is 10 miliseconds.
std::unique_ptr< IBackend, void(*)(IBackend *backend)> IBackendUniquePtr
PaddingMode
The padding mode controls whether the padding should be filled with constant values (Constant)...
min(a, max(b, input)) ReLu1 & ReLu6.
ValueType operator[](SizeType i) const
Indexing method with out-of-bounds error checking for the m_DimMappings array.
unsigned int ImportedInputId
bool IsEqual(const PermutationVector &other) const
arm::pipe::ProfilingGuid LayerGuid
Define LayerGuid type.
The padding fields count, but are ignored.
MemorySource
Define the Memory Source to reduce copies.
Jarret 2009: Local Contrast Normalization.
ConstIterator begin() const
ConstIterator end() const
Infer missing output shapes and validate all output shapes.
Krichevsky 2012: Local Brightness Normalization.
bool IsInverse(const PermutationVector &other) const
NormalizationAlgorithmMethod
ShapeInferenceMethod
The ShapeInferenceMethod modify how the output shapes are treated.
const char * GetLayerTypeAsCString(LayerType type)
std::pair< HighResolutionClock, HighResolutionClock > InferenceTimingPair
constexpr unsigned int MaxNumOfTensorDimensions
LayerType
When adding a new layer, adapt also the LastLayer enum value in the enum class LayerType below...