40 virtual unsigned int GetNumConnections()
const = 0;
44 virtual void SetTensorInfo(
const TensorInfo& tensorInfo) = 0;
46 virtual bool IsTensorInfoSet()
const = 0;
51 virtual unsigned int CalculateIndexOnOwner()
const = 0;
53 virtual LayerGuid GetOwningLayerGuid()
const = 0;
64 virtual const char* GetName()
const = 0;
66 virtual unsigned int GetNumInputSlots()
const = 0;
67 virtual unsigned int GetNumOutputSlots()
const = 0;
69 virtual const IInputSlot& GetInputSlot(
unsigned int index)
const = 0;
70 virtual IInputSlot& GetInputSlot(
unsigned int index) = 0;
72 virtual const IOutputSlot& GetOutputSlot(
unsigned int index)
const = 0;
73 virtual IOutputSlot& GetOutputSlot(
unsigned int index) = 0;
75 virtual std::vector<TensorShape> InferOutputShapes(
const std::vector<TensorShape>& inputShapes)
const = 0;
85 using INetworkPtr = std::unique_ptr<INetwork, void(*)(INetwork* network)>;
94 static void Destroy(
INetwork* network);
96 virtual Status PrintGraph() = 0;
112 const char* name =
nullptr) = 0;
119 const char* name =
nullptr) = 0;
129 const char* name =
nullptr) = 0;
140 const char* name =
nullptr) = 0;
145 const char* name =
nullptr) = 0;
151 const char* name =
nullptr) = 0;
158 const char* name =
nullptr) = 0;
170 const char* name =
nullptr) = 0;
176 const char* name =
nullptr) = 0;
183 const char* name =
nullptr) = 0;
197 const char* name =
nullptr) = 0;
204 const char* name =
nullptr) = 0;
215 const char* name =
nullptr) = 0;
220 const char* name =
nullptr) = 0;
226 const char* name =
nullptr) = 0;
233 const char* name =
nullptr) = 0;
240 const char* name =
nullptr) = 0;
247 const char* name =
nullptr) = 0;
254 const char* name =
nullptr) = 0;
261 const char* name =
nullptr) = 0;
276 const char* name =
nullptr) = 0;
286 const char* name =
nullptr) = 0;
302 const char* name =
nullptr) = 0;
318 virtual IConnectableLayer* AddMultiplicationLayer(
const char* name =
nullptr) = 0;
332 const char* name =
nullptr) = 0;
340 const char* name =
nullptr) = 0;
347 const char* name =
nullptr) = 0;
354 const char* name =
nullptr) = 0;
362 const char* name =
nullptr) = 0;
369 const char* name =
nullptr) = 0;
379 const char* name =
nullptr) = 0;
386 const char* name =
nullptr) = 0;
393 const char* name =
nullptr) = 0;
400 const char* name =
nullptr) = 0;
421 const char* name =
nullptr) = 0;
451 const char* name =
nullptr) = 0;
463 const char* name =
nullptr) = 0;
512 const char* name =
nullptr) = 0;
519 const char* name =
nullptr) = 0;
529 const char* name =
nullptr) = 0;
536 const char* name =
nullptr) = 0;
551 virtual Status PrintGraph() = 0;
552 virtual Status SerializeToDot(std::ostream& stream)
const = 0;
563 : m_ReduceFp32ToFp16(
false)
568 : m_ReduceFp32ToFp16(reduceFp32ToFp16)
589 const std::vector<BackendId>& backendPreferences,
A BatchToSpaceNdDescriptor for the BatchToSpaceNdLayer.
A NormalizationDescriptor for the NormalizationLayer.
A tensor defined by a TensorInfo (shape and data type) and an immutable backing store.
IOptimizedNetworkPtr Optimize(const INetwork &network, const std::vector< BackendId > &backendPreferences, const IDeviceSpec &deviceSpec, const OptimizerOptions &options=OptimizerOptions(), Optional< std::vector< std::string > &> messages=EmptyOptional())
A PadDescriptor for the PadLayer.
An ActivationDescriptor for the ActivationLayer.
A BatchNormalizationDescriptor for the BatchNormalizationLayer.
A L2NormalizationDescriptor for the L2NormalizationLayer.
A ViewsDescriptor for the SplitterLayer. Descriptor to configure the splitting process. Number of Views must be equal to the number of outputs, and their order must match - e.g. first view corresponds to the first output, second view to the second output, etc.
A SpaceToDepthDescriptor for the SpaceToDepthLayer.
A ReshapeDescriptor for the ReshapeLayer.
A TransposeConvolution2dDescriptor for the TransposeConvolution2dLayer.
OptimizerOptions(bool reduceFp32ToFp16, bool debug)
A ElementwiseUnaryDescriptor for the ElementwiseUnaryLayer.
armnnUtils::Sockets::Socket Accept(Socket s, sockaddr *addr, socklen_t *addrlen, int flags)
An LstmDescriptor for the LstmLayer.
An InstanceNormalizationDescriptor for InstanceNormalizationLayer.
A FullyConnectedDescriptor for the FullyConnectedLayer.
std::unique_ptr< INetwork, void(*)(INetwork *network)> INetworkPtr
A StackDescriptor for the StackLayer.
A ResizeBilinearDescriptor for the ResizeBilinearLayer.
A SoftmaxDescriptor for the SoftmaxLayer.
An output connection slot for a layer. The output slot may be connected to 1 or more input slots of s...
void Connect(armnn::IConnectableLayer *from, armnn::IConnectableLayer *to, const armnn::TensorInfo &tensorInfo, unsigned int fromIndex, unsigned int toIndex)
~IConnectableLayer()
Objects are not deletable via the handle.
std::vector< float > anchors({ 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 10.5f, 1.0f, 1.0f, 0.5f, 10.5f, 1.0f, 1.0f, 0.5f, 100.5f, 1.0f, 1.0f })
Interface for a layer that is connectable to other layers via InputSlots and OutputSlots.
std::unique_ptr< IOptimizedNetwork, void(*)(IOptimizedNetwork *network)> IOptimizedNetworkPtr
A Pooling2dDescriptor for the Pooling2dLayer.
A StandInDescriptor for the StandIn layer.
A SliceDescriptor for the SliceLayer.
A DepthwiseConvolution2dDescriptor for the DepthwiseConvolution2dLayer.
A PermuteDescriptor for the PermuteLayer.
A Convolution2dDescriptor for the Convolution2dLayer.
~IOutputSlot()
Not user deletable.
A MeanDescriptor for the MeanLayer.
armnn::Runtime::CreationOptions::ExternalProfilingOptions options
A SpaceToBatchNdDescriptor for the SpaceToBatchNdLayer.
#define ARMNN_DEPRECATED_MSG(message)
An ArgMinMaxDescriptor for ArgMinMaxLayer.
int LayerBindingId
Type of identifiers for bindable layers (inputs, outputs).
A ResizeDescriptor for the ResizeLayer.
const TensorInfo & GetTensorInfo(const ITensorHandle *tensorHandle)
float32 helpers
A ComparisonDescriptor for the ComparisonLayer.
Device specific knowledge to be passed to the optimizer.
An OriginsDescriptor for the ConcatLayer. Descriptor to configure the concatenation process...
A StridedSliceDescriptor for the StridedSliceLayer.