ArmNN
 21.02
IConnectableLayer Class Referenceabstract

Interface for a layer that is connectable to other layers via InputSlots and OutputSlots. More...

#include <INetwork.hpp>

Inheritance diagram for IConnectableLayer:
Layer AbsLayer BindableLayer ConstantLayer ConvertBf16ToFp32Layer ConvertFp16ToFp32Layer ConvertFp32ToBf16Layer ConvertFp32ToFp16Layer DebugLayer DequantizeLayer ElementwiseBaseLayer FloorLayer LayerWithParameters< Parameters > MapLayer MemCopyLayer MemImportLayer MergeLayer PreluLayer QuantizedLstmLayer QuantizeLayer RankLayer RsqrtLayer SwitchLayer UnmapLayer LayerWithParameters< ActivationDescriptor > LayerWithParameters< ArgMinMaxDescriptor > LayerWithParameters< BatchNormalizationDescriptor > LayerWithParameters< BatchToSpaceNdDescriptor > LayerWithParameters< ComparisonDescriptor > LayerWithParameters< Convolution2dDescriptor > LayerWithParameters< DepthToSpaceDescriptor > LayerWithParameters< DepthwiseConvolution2dDescriptor > LayerWithParameters< DetectionPostProcessDescriptor > LayerWithParameters< ElementwiseUnaryDescriptor > LayerWithParameters< FakeQuantizationDescriptor > LayerWithParameters< FillDescriptor > LayerWithParameters< FullyConnectedDescriptor > LayerWithParameters< GatherDescriptor > LayerWithParameters< InstanceNormalizationDescriptor > LayerWithParameters< L2NormalizationDescriptor > LayerWithParameters< LogicalBinaryDescriptor > LayerWithParameters< LogSoftmaxDescriptor > LayerWithParameters< LstmDescriptor > LayerWithParameters< MeanDescriptor > LayerWithParameters< NormalizationDescriptor > LayerWithParameters< OriginsDescriptor > LayerWithParameters< PadDescriptor > LayerWithParameters< PermuteDescriptor > LayerWithParameters< Pooling2dDescriptor > LayerWithParameters< PreCompiledDescriptor > LayerWithParameters< QLstmDescriptor > LayerWithParameters< ReduceDescriptor > LayerWithParameters< ReshapeDescriptor > LayerWithParameters< ResizeDescriptor > LayerWithParameters< SliceDescriptor > LayerWithParameters< SoftmaxDescriptor > LayerWithParameters< SpaceToBatchNdDescriptor > LayerWithParameters< SpaceToDepthDescriptor > LayerWithParameters< StackDescriptor > LayerWithParameters< StandInDescriptor > LayerWithParameters< StridedSliceDescriptor > LayerWithParameters< TransposeConvolution2dDescriptor > LayerWithParameters< TransposeDescriptor > LayerWithParameters< ViewsDescriptor >

Public Member Functions

virtual const char * GetName () const =0
 Returns the name of the layer. More...
 
virtual unsigned int GetNumInputSlots () const =0
 Returns the number of connectable input slots. More...
 
virtual unsigned int GetNumOutputSlots () const =0
 Returns the number of connectable output slots. More...
 
virtual const IInputSlotGetInputSlot (unsigned int index) const =0
 Get a const input slot handle by slot index. More...
 
virtual IInputSlotGetInputSlot (unsigned int index)=0
 Get the input slot handle by slot index. More...
 
virtual const IOutputSlotGetOutputSlot (unsigned int index) const =0
 Get the const output slot handle by slot index. More...
 
virtual IOutputSlotGetOutputSlot (unsigned int index)=0
 Get the output slot handle by slot index. More...
 
virtual std::vector< TensorShapeInferOutputShapes (const std::vector< TensorShape > &inputShapes) const =0
 Infer the shape of the output(s) based on the provided input shape(s) More...
 
virtual LayerGuid GetGuid () const =0
 Returns the unique id of the layer. More...
 
virtual void Accept (ILayerVisitor &visitor) const =0
 Apply a visitor to this layer. More...
 
virtual void ExecuteStrategy (IStrategy &strategy) const =0
 Apply a visitor to this layer. More...
 
virtual void BackendSelectionHint (Optional< BackendId > backend)=0
 Provide a hint for the optimizer as to which backend to prefer for this layer. More...
 
virtual LayerType GetType () const =0
 Returns the armnn::LayerType of this layer. More...
 

Protected Member Functions

 ~IConnectableLayer ()
 Objects are not deletable via the handle. More...
 

Detailed Description

Interface for a layer that is connectable to other layers via InputSlots and OutputSlots.

Definition at line 62 of file INetwork.hpp.

Constructor & Destructor Documentation

◆ ~IConnectableLayer()

~IConnectableLayer ( )
inlineprotected

Objects are not deletable via the handle.

Definition at line 106 of file INetwork.hpp.

106 {}

Member Function Documentation

◆ Accept()

◆ BackendSelectionHint()

virtual void BackendSelectionHint ( Optional< BackendId backend)
pure virtual

Provide a hint for the optimizer as to which backend to prefer for this layer.

Implemented in Layer.

Referenced by BOOST_AUTO_TEST_CASE().

◆ ExecuteStrategy()

virtual void ExecuteStrategy ( IStrategy strategy) const
pure virtual

Apply a visitor to this layer.

Implemented in BindableLayer, Layer, QLstmLayer, LstmLayer, QuantizedLstmLayer, LayerWithParameters< Parameters >, LayerWithParameters< FakeQuantizationDescriptor >, LayerWithParameters< SoftmaxDescriptor >, LayerWithParameters< ReduceDescriptor >, LayerWithParameters< LstmDescriptor >, LayerWithParameters< LogSoftmaxDescriptor >, LayerWithParameters< PreCompiledDescriptor >, LayerWithParameters< BatchToSpaceNdDescriptor >, LayerWithParameters< PermuteDescriptor >, LayerWithParameters< SpaceToBatchNdDescriptor >, LayerWithParameters< DepthToSpaceDescriptor >, LayerWithParameters< ReshapeDescriptor >, LayerWithParameters< ElementwiseUnaryDescriptor >, LayerWithParameters< GatherDescriptor >, LayerWithParameters< SpaceToDepthDescriptor >, LayerWithParameters< OriginsDescriptor >, LayerWithParameters< ViewsDescriptor >, LayerWithParameters< Pooling2dDescriptor >, LayerWithParameters< Convolution2dDescriptor >, LayerWithParameters< ActivationDescriptor >, LayerWithParameters< StandInDescriptor >, LayerWithParameters< TransposeDescriptor >, LayerWithParameters< StackDescriptor >, LayerWithParameters< MeanDescriptor >, LayerWithParameters< ComparisonDescriptor >, LayerWithParameters< InstanceNormalizationDescriptor >, LayerWithParameters< TransposeConvolution2dDescriptor >, LayerWithParameters< BatchNormalizationDescriptor >, LayerWithParameters< ArgMinMaxDescriptor >, LayerWithParameters< LogicalBinaryDescriptor >, LayerWithParameters< DetectionPostProcessDescriptor >, LayerWithParameters< PadDescriptor >, LayerWithParameters< L2NormalizationDescriptor >, LayerWithParameters< FillDescriptor >, LayerWithParameters< SliceDescriptor >, LayerWithParameters< DepthwiseConvolution2dDescriptor >, LayerWithParameters< QLstmDescriptor >, LayerWithParameters< NormalizationDescriptor >, LayerWithParameters< FullyConnectedDescriptor >, LayerWithParameters< StridedSliceDescriptor >, LayerWithParameters< ResizeDescriptor >, Convolution2dLayer, DepthwiseConvolution2dLayer, FullyConnectedLayer, TransposeConvolution2dLayer, BatchNormalizationLayer, ConstantLayer, DetectionPostProcessLayer, PreCompiledLayer, FakeQuantizationLayer, MemCopyLayer, MemImportLayer, ElementwiseBaseLayer, and RankLayer.

◆ GetGuid()

◆ GetInputSlot() [1/2]

virtual const IInputSlot& GetInputSlot ( unsigned int  index) const
pure virtual

Get a const input slot handle by slot index.

Implemented in Layer.

Referenced by ITfParser::TfParserImpl::AddActivationLayer(), ITfParser::TfParserImpl::AddAdditionLayer(), ICaffeParser::CaffeParserImpl::AddConvLayerWithSplits(), ICaffeParser::CaffeParserImpl::AddDeconvLayerWithSplits(), ITfParser::TfParserImpl::AddMaximumLayer(), ITfParser::TfParserImpl::AddMultiplicationLayer(), ITfParser::TfParserImpl::AddRealDivLayer(), BOOST_AUTO_TEST_CASE(), armnn::BOOST_AUTO_TEST_CASE(), armnn::CompleteLeakyReluNetwork(), armnnTfLiteParser::ComputeWrappedIndex(), Connect(), ITfParser::TfParserImpl::CreateAdditionLayer(), OnnxParserImpl::CreateNetworkFromString(), armnn::CreateNetworkWithActivationLayer(), armnn::CreateNetworkWithArgMinMaxLayer(), armnn::CreateNetworkWithFullyConnectedLayer(), armnn::CreateNetworkWithInputOutputLayers(), armnn::CreateNetworkWithSoftmaxLayer(), armnn::CreateStartOfLeakyReluNetwork(), CreatNetwork(), armnn::CreatNetwork(), DynamicQuantizationStrategy::DynamicQuantizationStrategy(), QuantizerStrategy::ExecuteStrategy(), StaticRangeStrategy::ExecuteStrategy(), DynamicQuantizationStrategy::ExecuteStrategy(), armnn::GetInputTensorInfo(), IDeserializer::DeserializerImpl::GetNetworkOutputBindingInfo(), ITfParser::GetNetworkOutputBindingInfo(), TfLiteParserImpl::GetOutputTensorIds(), GetSoftmaxProfilerJson(), SerializerStrategy::GetVersionTable(), ITfParser::TfParserImpl::LoadNodeDef(), TfLiteParserImpl::OutputShapeOfReshape(), ICaffeParser::CaffeParserImpl::ParseArgmaxLayer(), ICaffeParser::CaffeParserImpl::ParseBatchNormLayer(), ITfParser::TfParserImpl::ParseConcat(), ICaffeParser::CaffeParserImpl::ParseConcatLayer(), ITfParser::TfParserImpl::ParseConv2D(), ITfParser::TfParserImpl::ParseDepthwiseConv2D(), ICaffeParser::CaffeParserImpl::ParseEltwiseLayer(), ITfParser::TfParserImpl::ParseExpandDims(), ITfParser::TfParserImpl::ParseFusedBatchNorm(), ICaffeParser::CaffeParserImpl::ParseInnerProductLayer(), ITfParser::TfParserImpl::ParseLrn(), ICaffeParser::CaffeParserImpl::ParseLRNLayer(), ITfParser::TfParserImpl::ParseMaximum(), ITfParser::TfParserImpl::ParseMean(), ITfParser::TfParserImpl::ParsePad(), ITfParser::TfParserImpl::ParsePooling2d(), ICaffeParser::CaffeParserImpl::ParsePoolingLayer(), ICaffeParser::CaffeParserImpl::ParseReluLayer(), ITfParser::TfParserImpl::ParseReshape(), ITfParser::TfParserImpl::ParseResizeBilinear(), ITfParser::TfParserImpl::ParseRsqrt(), ICaffeParser::CaffeParserImpl::ParseScaleLayer(), ITfParser::TfParserImpl::ParseSoftmax(), ICaffeParser::CaffeParserImpl::ParseSoftmaxLayer(), ITfParser::TfParserImpl::ParseSplit(), ITfParser::TfParserImpl::ParseSqueeze(), ITfParser::TfParserImpl::ParseStack(), ITfParser::TfParserImpl::ParseStridedSlice(), ITfParser::TfParserImpl::ParseSub(), armnn::PreserveTypeTestImpl(), ITfParser::TfParserImpl::ProcessComparisonLayer(), ITfParser::TfParserImpl::ProcessElementwiseLayer(), QuantizerStrategy::QuantizerStrategy(), StaticRangeStrategy::StaticRangeStrategy(), armnn::TestQuantizeConvolution2d(), armnn::TestQuantizeDepthwiseConvolution2d(), armnn::TestQuantizeTransposeConvolution2d(), LayerVerifierBase::VerifyNameAndConnections(), and VerifyPostOptimisationStructureTestImpl().

◆ GetInputSlot() [2/2]

virtual IInputSlot& GetInputSlot ( unsigned int  index)
pure virtual

Get the input slot handle by slot index.

Implemented in Layer.

◆ GetName()

◆ GetNumInputSlots()

◆ GetNumOutputSlots()

◆ GetOutputSlot() [1/2]

virtual const IOutputSlot& GetOutputSlot ( unsigned int  index) const
pure virtual

Get the const output slot handle by slot index.

Implemented in Layer.

Referenced by ITfParser::TfParserImpl::AddActivationLayer(), ITfParser::TfParserImpl::AddAdditionLayer(), ICaffeParser::CaffeParserImpl::AddConvLayerWithSplits(), ICaffeParser::CaffeParserImpl::AddDeconvLayerWithSplits(), ITfParser::TfParserImpl::AddMaximumLayer(), ITfParser::TfParserImpl::AddMultiplicationLayer(), ITfParser::TfParserImpl::AddRealDivLayer(), BOOST_AUTO_TEST_CASE(), armnn::BOOST_AUTO_TEST_CASE(), armnn::CompleteLeakyReluNetwork(), armnnTfLiteParser::ComputeWrappedIndex(), Connect(), ITfParser::TfParserImpl::CreateAdditionLayer(), TfLiteParserImpl::CreateNetworkFromBinary(), OnnxParserImpl::CreateNetworkFromString(), armnn::CreateNetworkWithActivationLayer(), armnn::CreateNetworkWithArgMinMaxLayer(), armnn::CreateNetworkWithFullyConnectedLayer(), armnn::CreateNetworkWithInputOutputLayers(), armnn::CreateNetworkWithSoftmaxLayer(), armnn::CreateStartOfLeakyReluNetwork(), CreatNetwork(), armnn::CreatNetwork(), QuantizerStrategy::ExecuteStrategy(), InputLayerStrategy::ExecuteStrategy(), armnn::GetInputTensorInfo(), IDeserializer::DeserializerImpl::GetLstmDescriptor(), IDeserializer::DeserializerImpl::GetNetworkOutputBindingInfo(), ITfParser::GetNetworkOutputBindingInfo(), IDeserializer::DeserializerImpl::GetNormalizationDescriptor(), armnnDeserializer::GetOriginsDescriptor(), TfLiteParserImpl::GetOutputTensorIds(), IDeserializer::DeserializerImpl::GetPoolingDescriptor(), IDeserializer::DeserializerImpl::GetQLstmDescriptor(), GetSoftmaxProfilerJson(), SerializerStrategy::GetVersionTable(), IDeserializer::DeserializerImpl::OutputShapeOfReshape(), TfLiteParserImpl::OutputShapeOfReshape(), TfLiteParserImpl::OutputShapeOfSqueeze(), ICaffeParser::CaffeParserImpl::ParseArgmaxLayer(), ICaffeParser::CaffeParserImpl::ParseBatchNormLayer(), ITfParser::TfParserImpl::ParseConcat(), ICaffeParser::CaffeParserImpl::ParseConcatLayer(), ITfParser::TfParserImpl::ParseConv2D(), ITfParser::TfParserImpl::ParseDepthwiseConv2D(), ICaffeParser::CaffeParserImpl::ParseEltwiseLayer(), ITfParser::TfParserImpl::ParseExpandDims(), ITfParser::TfParserImpl::ParseFusedBatchNorm(), ICaffeParser::CaffeParserImpl::ParseInnerProductLayer(), ITfParser::TfParserImpl::ParseLrn(), ICaffeParser::CaffeParserImpl::ParseLRNLayer(), ITfParser::TfParserImpl::ParseMaximum(), ITfParser::TfParserImpl::ParseMean(), ITfParser::TfParserImpl::ParsePad(), ITfParser::TfParserImpl::ParsePlaceholder(), ITfParser::TfParserImpl::ParsePooling2d(), ICaffeParser::CaffeParserImpl::ParsePoolingLayer(), ICaffeParser::CaffeParserImpl::ParseReluLayer(), ITfParser::TfParserImpl::ParseReshape(), ITfParser::TfParserImpl::ParseResizeBilinear(), ITfParser::TfParserImpl::ParseRsqrt(), ICaffeParser::CaffeParserImpl::ParseScaleLayer(), ITfParser::TfParserImpl::ParseSoftmax(), ICaffeParser::CaffeParserImpl::ParseSoftmaxLayer(), ITfParser::TfParserImpl::ParseSplit(), ITfParser::TfParserImpl::ParseSqueeze(), ITfParser::TfParserImpl::ParseStack(), ITfParser::TfParserImpl::ParseStridedSlice(), ITfParser::TfParserImpl::ParseSub(), armnn::PreserveTypeTestImpl(), ITfParser::TfParserImpl::ProcessComparisonLayer(), ITfParser::TfParserImpl::ProcessElementwiseLayer(), QuantizerStrategy::QuantizerStrategy(), armnn::TestQuantizeConvolution2d(), armnn::TestQuantizeDepthwiseConvolution2d(), armnn::TestQuantizeTransposeConvolution2d(), LayerVerifierBase::VerifyNameAndConnections(), VerifyPostOptimisationStructureTestImpl(), and InputLayerVisitor::VisitInputLayer().

◆ GetOutputSlot() [2/2]

virtual IOutputSlot& GetOutputSlot ( unsigned int  index)
pure virtual

Get the output slot handle by slot index.

Implemented in Layer.

◆ GetType()

◆ InferOutputShapes()


The documentation for this class was generated from the following file: