ArmNN
 21.05
INetwork Class Reference

Main network class which provides the interface for building up a neural network. More...

#include <INetwork.hpp>

Public Member Functions

Status PrintGraph ()
 
IConnectableLayerAddInputLayer (LayerBindingId id, const char *name=nullptr)
 Adds an input layer to the network. More...
 
IConnectableLayerAddArgMinMaxLayer (const ArgMinMaxDescriptor &desc, const char *name=nullptr)
 Adds an ArgMinMax layer to the network. More...
 
IConnectableLayerAddCastLayer (const char *name=nullptr)
 Adds a cast layer to the network. More...
 
IConnectableLayerAddComparisonLayer (const ComparisonDescriptor &comparisonDescriptor, const char *name=nullptr)
 Add a Comparison layer to the network. More...
 
IConnectableLayerAddConcatLayer (const ConcatDescriptor &concatDescriptor, const char *name=nullptr)
 Adds a concatenation layer to the network. More...
 
IConnectableLayerAddConvolution2dLayer (const Convolution2dDescriptor &convolution2dDescriptor, const ConstTensor &weights, const Optional< ConstTensor > &biases, const char *name=nullptr)
 Adds a 2D convolution layer to the network. More...
 
IConnectableLayerAddConvolution2dLayer (const Convolution2dDescriptor &convolution2dDescriptor, const ConstTensor &weights, const char *name=nullptr)
 
IConnectableLayerAddConvolution2dLayer (const Convolution2dDescriptor &convolution2dDescriptor, const ConstTensor &weights, const ConstTensor &biases, const char *name=nullptr)
 
IConnectableLayerAddDepthToSpaceLayer (const DepthToSpaceDescriptor &depthToSpaceDescriptor, const char *name=nullptr)
 Adds a depth to space layer to the network. More...
 
IConnectableLayerAddDepthwiseConvolution2dLayer (const DepthwiseConvolution2dDescriptor &convolution2dDescriptor, const ConstTensor &weights, const Optional< ConstTensor > &biases, const char *name=nullptr)
 Adds a 2D depthwise convolution layer to the network. More...
 
IConnectableLayerAddDepthwiseConvolution2dLayer (const DepthwiseConvolution2dDescriptor &convolution2dDescriptor, const ConstTensor &weights, const char *name=nullptr)
 
IConnectableLayerAddDepthwiseConvolution2dLayer (const DepthwiseConvolution2dDescriptor &convolution2dDescriptor, const ConstTensor &weights, const ConstTensor &biases, const char *name=nullptr)
 
IConnectableLayerAddDequantizeLayer (const char *name=nullptr)
 Adds a Dequantize layer to the network. More...
 
IConnectableLayerAddDetectionPostProcessLayer (const DetectionPostProcessDescriptor &descriptor, const ConstTensor &anchors, const char *name=nullptr)
 Adds a Detection PostProcess layer to the network. More...
 
IConnectableLayerAddElementwiseUnaryLayer (const ElementwiseUnaryDescriptor &elementwiseUnaryDescriptor, const char *name=nullptr)
 Add an ElementwiseUnary layer to the network. More...
 
IConnectableLayerAddFillLayer (const FillDescriptor &fillDescriptor, const char *name=nullptr)
 Add an Fill layer to the network. More...
 
IConnectableLayerAddFullyConnectedLayer (const FullyConnectedDescriptor &fullyConnectedDescriptor, const Optional< ConstTensor > &weights, const Optional< ConstTensor > &biases, const char *name=nullptr)
 Adds a fully connected layer to the network. More...
 
IConnectableLayerAddFullyConnectedLayer (const FullyConnectedDescriptor &fullyConnectedDescriptor, const ConstTensor &weights, const Optional< ConstTensor > &biases, const char *name=nullptr)
 Adds a fully connected layer to the network. More...
 
IConnectableLayerAddFullyConnectedLayer (const FullyConnectedDescriptor &fullyConnectedDescriptor, const ConstTensor &weights, const char *name=nullptr)
 
IConnectableLayerAddFullyConnectedLayer (const FullyConnectedDescriptor &fullyConnectedDescriptor, const ConstTensor &weights, const ConstTensor &biases, const char *name=nullptr)
 
IConnectableLayerAddPermuteLayer (const PermuteDescriptor &permuteDescriptor, const char *name=nullptr)
 Adds a permute layer to the network. More...
 
IConnectableLayerAddBatchToSpaceNdLayer (const BatchToSpaceNdDescriptor &batchToSpaceNdDescriptor, const char *name=nullptr)
 Adds a batch to space ND layer to the network. More...
 
IConnectableLayerAddPooling2dLayer (const Pooling2dDescriptor &pooling2dDescriptor, const char *name=nullptr)
 Adds a pooling layer to the network. More...
 
IConnectableLayerAddActivationLayer (const ActivationDescriptor &activationDescriptor, const char *name=nullptr)
 Adds an activation layer to the network. More...
 
IConnectableLayerAddNormalizationLayer (const NormalizationDescriptor &normalizationDescriptor, const char *name=nullptr)
 Adds a normalization layer to the network. More...
 
IConnectableLayerAddSliceLayer (const SliceDescriptor &sliceDescriptor, const char *name=nullptr)
 Adds a slice layer to the network. More...
 
IConnectableLayerAddSoftmaxLayer (const SoftmaxDescriptor &softmaxDescriptor, const char *name=nullptr)
 Adds a softmax layer to the network. More...
 
IConnectableLayerAddSplitterLayer (const ViewsDescriptor &splitterDescriptor, const char *name=nullptr)
 Adds a splitter layer to the network. More...
 
IConnectableLayerAddMergeLayer (const char *name=nullptr)
 Adds a merge layer to the network. More...
 
IConnectableLayerAddMergerLayer (const MergerDescriptor &mergerDescriptor, const char *name=nullptr)
 Adds a concat layer to the network. More...
 
IConnectableLayerAddAbsLayer (const char *name=nullptr)
 Add absolute layer to the network. More...
 
IConnectableLayerAddAdditionLayer (const char *name=nullptr)
 Adds an addition layer to the network. More...
 
IConnectableLayerAddMultiplicationLayer (const char *name=nullptr)
 Adds a multiplication layer to the network. More...
 
IConnectableLayerAddBatchNormalizationLayer (const BatchNormalizationDescriptor &desc, const ConstTensor &mean, const ConstTensor &variance, const ConstTensor &beta, const ConstTensor &gamma, const char *name=nullptr)
 Adds a batch normalization layer to the network. More...
 
IConnectableLayerAddRankLayer (const char *name=nullptr)
 Adds a rank layer to the network. More...
 
IConnectableLayerAddResizeBilinearLayer (const ResizeBilinearDescriptor &resizeDesc, const char *name=nullptr)
 Adds a resize bilinear layer to the network. More...
 
IConnectableLayerAddResizeLayer (const ResizeDescriptor &resizeDescriptor, const char *name=nullptr)
 Adds a resize layer to the network. More...
 
IConnectableLayerAddReduceLayer (const ReduceDescriptor &reduceDescriptor, const char *name=nullptr)
 Adds a reduce layer to the network. More...
 
IConnectableLayerAddInstanceNormalizationLayer (const InstanceNormalizationDescriptor &desc, const char *name=nullptr)
 Adds an instance normalization layer to the network. More...
 
IConnectableLayerAddL2NormalizationLayer (const L2NormalizationDescriptor &desc, const char *name=nullptr)
 Adds an L2 normalization layer to the network. More...
 
IConnectableLayerAddLogSoftmaxLayer (const LogSoftmaxDescriptor &logSoftmaxDescriptor, const char *name=nullptr)
 Adds a log softmax layer to the network. More...
 
IConnectableLayerAddConstantLayer (const ConstTensor &input, const char *name=nullptr)
 Adds a layer with no inputs and a single output, which always corresponds to the passed in constant tensor. More...
 
IConnectableLayerAddReshapeLayer (const ReshapeDescriptor &reshapeDescriptor, const char *name=nullptr)
 Adds a reshape layer to the network. More...
 
IConnectableLayerAddSpaceToBatchNdLayer (const SpaceToBatchNdDescriptor &spaceToBatchNdDescriptor, const char *name=nullptr)
 Adds a space to batch layer to the network. More...
 
IConnectableLayerAddSpaceToDepthLayer (const SpaceToDepthDescriptor &spaceToDepthDescriptor, const char *name=nullptr)
 Adds a space to depth layer to the network. More...
 
IConnectableLayerAddFloorLayer (const char *name=nullptr)
 Adds a floor layer to the network. More...
 
IConnectableLayerAddOutputLayer (LayerBindingId id, const char *name=nullptr)
 Adds an output layer to the network. More...
 
IConnectableLayerAddLstmLayer (const LstmDescriptor &descriptor, const LstmInputParams &params, const char *name=nullptr)
 Add a Lstm layer to the network. More...
 
IConnectableLayerAddDivisionLayer (const char *name=nullptr)
 Adds a division layer to the network. More...
 
IConnectableLayerAddSubtractionLayer (const char *name=nullptr)
 Adds a subtraction layer to the network. More...
 
IConnectableLayerAddMaximumLayer (const char *name=nullptr)
 Add a Maximum layer to the network. More...
 
IConnectableLayerAddMeanLayer (const MeanDescriptor &meanDescriptor, const char *name=nullptr)
 Add a Mean layer to the network. More...
 
IConnectableLayerAddPadLayer (const PadDescriptor &padDescriptor, const char *name=nullptr)
 Adds a fully pad layer to the network. More...
 
IConnectableLayerAddQuantizeLayer (const char *name=nullptr)
 Add a quantize layer to the network. More...
 
IConnectableLayerAddStridedSliceLayer (const StridedSliceDescriptor &stridedSliceDescriptor, const char *name=nullptr)
 Adds a strided slice layer to the network. More...
 
IConnectableLayerAddMinimumLayer (const char *name=nullptr)
 Add a Minimum layer to the network. More...
 
IConnectableLayerAddGreaterLayer (const char *name=nullptr)
 Add a Greater layer to the network. More...
 
IConnectableLayerAddEqualLayer (const char *name=nullptr)
 Add a Equal layer to the network. More...
 
IConnectableLayerAddRsqrtLayer (const char *name=nullptr)
 Add Reciprocal of square root layer to the network. More...
 
IConnectableLayerAddGatherLayer (const char *name=nullptr)
 Add Gather layer to the network. More...
 
IConnectableLayerAddGatherLayer (const GatherDescriptor &descriptor, const char *name=nullptr)
 Add Gather layer to the network. More...
 
IConnectableLayerAddSwitchLayer (const char *name=nullptr)
 Adds a switch layer to the network. More...
 
IConnectableLayerAddPreluLayer (const char *name=nullptr)
 Adds a PReLU layer to the network. More...
 
IConnectableLayerAddTransposeConvolution2dLayer (const TransposeConvolution2dDescriptor &descriptor, const ConstTensor &weights, const Optional< ConstTensor > &biases, const char *name=nullptr)
 Adds a 2D transpose convolution layer to the network. More...
 
IConnectableLayerAddTransposeLayer (const TransposeDescriptor &transposeDescriptor, const char *name=nullptr)
 Adds a transpose layer to the network. More...
 
IConnectableLayerAddStackLayer (const StackDescriptor &descriptor, const char *name=nullptr)
 Adds a stack layer to the network. More...
 
IConnectableLayerAddStandInLayer (const StandInDescriptor &descriptor, const char *name=nullptr)
 Add a stand-in layer for a type unknown to the Arm NN framework. More...
 
IConnectableLayerAddQuantizedLstmLayer (const QuantizedLstmInputParams &params, const char *name=nullptr)
 Add a QuantizedLstm layer to the network. More...
 
IConnectableLayerAddQLstmLayer (const QLstmDescriptor &descriptor, const LstmInputParams &params, const char *name=nullptr)
 Add a QLstm layer to the network. More...
 
IConnectableLayerAddLogicalBinaryLayer (const LogicalBinaryDescriptor &descriptor, const char *name=nullptr)
 Adds a Logical Binary layer to the network. More...
 
void Accept (ILayerVisitor &visitor) const
 
void ExecuteStrategy (IStrategy &strategy) const
 

Static Public Member Functions

static INetworkCreateRaw (NetworkOptions networkOptions={})
 
static INetworkPtr Create (NetworkOptions networkOptions={})
 
static void Destroy (INetwork *network)
 

Protected Member Functions

 ~INetwork ()
 
 INetwork (NetworkOptions networkOptions={})
 

Protected Attributes

std::unique_ptr< NetworkImplpNetworkImpl
 

Friends

class TestConnectionPreservation
 
void VisitLayersTopologically (const INetwork *inputNetwork, IStrategy &strategy)
 
TensorInfo GetInputTensorInfo (const INetwork *network)
 
IOptimizedNetworkPtr Optimize (const INetwork &network, const std::vector< BackendId > &backendPreferences, const IDeviceSpec &deviceSpec, const OptimizerOptions &options, Optional< std::vector< std::string > &> messages)
 Create an optimized version of the network. More...
 

Detailed Description

Main network class which provides the interface for building up a neural network.

This object is subsequently required by the IRuntime::Load() method.

Definition at line 178 of file INetwork.hpp.

Constructor & Destructor Documentation

◆ ~INetwork()

~INetwork ( )
protecteddefault

Referenced by INetwork::INetwork().

◆ INetwork()

INetwork ( NetworkOptions  networkOptions = {})
protected

Definition at line 41 of file Network.cpp.

References INetwork::~INetwork().

Referenced by INetwork::CreateRaw().

41 : pNetworkImpl(new NetworkImpl(networkOptions)) {}
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

Member Function Documentation

◆ Accept()

void Accept ( ILayerVisitor visitor) const

Definition at line 514 of file Network.cpp.

References INetwork::pNetworkImpl.

515 {
516  return pNetworkImpl->Accept(visitor);
517 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddAbsLayer()

IConnectableLayer * AddAbsLayer ( const char *  name = nullptr)

Add absolute layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 276 of file Network.cpp.

References armnn::Abs, and INetwork::pNetworkImpl.

277 {
278  return pNetworkImpl->AddElementwiseUnaryLayer(ElementwiseUnaryDescriptor(UnaryOperation::Abs), name);
279 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddActivationLayer()

IConnectableLayer * AddActivationLayer ( const ActivationDescriptor activationDescriptor,
const char *  name = nullptr 
)

Adds an activation layer to the network.

Parameters
activationDescriptor- ActivationDescriptor to configure the activation.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 237 of file Network.cpp.

References INetwork::pNetworkImpl.

239 {
240  return pNetworkImpl->AddActivationLayer(activationDescriptor, name);
241 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddAdditionLayer()

IConnectableLayer * AddAdditionLayer ( const char *  name = nullptr)

Adds an addition layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 281 of file Network.cpp.

References INetwork::pNetworkImpl.

Referenced by armnn::GetVector().

282 {
283  return pNetworkImpl->AddAdditionLayer(name);
284 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddArgMinMaxLayer()

IConnectableLayer * AddArgMinMaxLayer ( const ArgMinMaxDescriptor desc,
const char *  name = nullptr 
)

Adds an ArgMinMax layer to the network.

Parameters
desc- Parameters for the L2 normalization operation.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 56 of file Network.cpp.

References INetwork::pNetworkImpl.

58 {
59  return pNetworkImpl->AddArgMinMaxLayer(desc, name);
60 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddBatchNormalizationLayer()

IConnectableLayer * AddBatchNormalizationLayer ( const BatchNormalizationDescriptor desc,
const ConstTensor mean,
const ConstTensor variance,
const ConstTensor beta,
const ConstTensor gamma,
const char *  name = nullptr 
)

Adds a batch normalization layer to the network.

Parameters
mean- Pre-calculated mean for each channel.
variance- Pre-calculated variance for each channel.
beta- Per-channel additive factor.
gamma- Per-channel multiplicative factor.
Returns
- Interface for configuring the layer.
Parameters
name- Optional name for the layer.

Definition at line 291 of file Network.cpp.

References INetwork::pNetworkImpl.

Referenced by armnn::GetVector().

297 {
298  return pNetworkImpl->AddBatchNormalizationLayer(desc, mean, variance, beta, gamma, name);
299 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddBatchToSpaceNdLayer()

IConnectableLayer * AddBatchToSpaceNdLayer ( const BatchToSpaceNdDescriptor batchToSpaceNdDescriptor,
const char *  name = nullptr 
)

Adds a batch to space ND layer to the network.

Parameters
batchToSpaceNdDescriptor- Description of the layer.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 225 of file Network.cpp.

References INetwork::pNetworkImpl.

227 {
228  return pNetworkImpl->AddBatchToSpaceNdLayer(batchToSpaceNdDescriptor, name);
229 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddCastLayer()

IConnectableLayer * AddCastLayer ( const char *  name = nullptr)

Adds a cast layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 62 of file Network.cpp.

References INetwork::pNetworkImpl.

63 {
64  return pNetworkImpl->AddCastLayer(name);
65 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddComparisonLayer()

IConnectableLayer * AddComparisonLayer ( const ComparisonDescriptor comparisonDescriptor,
const char *  name = nullptr 
)

Add a Comparison layer to the network.

Parameters
name- Optional name for the layer.
desc- Descriptor for the comparison operation.
Returns
- Interface for configuring the layer.

Definition at line 67 of file Network.cpp.

References INetwork::pNetworkImpl.

69 {
70  return pNetworkImpl->AddComparisonLayer(comparisonDescriptor, name);
71 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddConcatLayer()

IConnectableLayer * AddConcatLayer ( const ConcatDescriptor concatDescriptor,
const char *  name = nullptr 
)

Adds a concatenation layer to the network.

Parameters
concatDescriptor- ConcatDescriptor (synonym for OriginsDescriptor) to configure the concatenation process. Number of Views must be equal to the number of inputs, and their order must match - e.g. first view corresponds to the first input, second view to the second input, etc....
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 74 of file Network.cpp.

References INetwork::pNetworkImpl.

76 {
77  return pNetworkImpl->AddConcatLayer(concatDescriptor, name);
78 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddConstantLayer()

IConnectableLayer * AddConstantLayer ( const ConstTensor input,
const char *  name = nullptr 
)

Adds a layer with no inputs and a single output, which always corresponds to the passed in constant tensor.

Parameters
input- Tensor to be provided as the only output of the layer. The layer will maintain its own copy of the tensor data, meaning the memory referenced by input can be freed or reused after this function is called.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 350 of file Network.cpp.

References INetwork::pNetworkImpl.

352 {
353  return pNetworkImpl->AddConstantLayer(input, name);
354 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddConvolution2dLayer() [1/3]

IConnectableLayer * AddConvolution2dLayer ( const Convolution2dDescriptor convolution2dDescriptor,
const ConstTensor weights,
const Optional< ConstTensor > &  biases,
const char *  name = nullptr 
)

Adds a 2D convolution layer to the network.

Parameters
convolution2dDescriptor- Description of the 2D convolution layer.
weights- Tensor for the weights data.
biases- Optional tensor for the bias data. If specified, must match the output tensor shape.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 81 of file Network.cpp.

References INetwork::pNetworkImpl.

Referenced by armnn::GetVector().

85 {
86  return pNetworkImpl->AddConvolution2dLayer(convolution2dDescriptor, weights, biases, name);
87 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddConvolution2dLayer() [2/3]

IConnectableLayer * AddConvolution2dLayer ( const Convolution2dDescriptor convolution2dDescriptor,
const ConstTensor weights,
const char *  name = nullptr 
)

Definition at line 90 of file Network.cpp.

References INetwork::pNetworkImpl.

93 {
94  Optional<ConstTensor> biases;
95  return pNetworkImpl->AddConvolution2dLayer(convolution2dDescriptor, weights, biases, name);
96 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddConvolution2dLayer() [3/3]

IConnectableLayer * AddConvolution2dLayer ( const Convolution2dDescriptor convolution2dDescriptor,
const ConstTensor weights,
const ConstTensor biases,
const char *  name = nullptr 
)

Definition at line 99 of file Network.cpp.

References INetwork::pNetworkImpl.

103 {
104 
105  return pNetworkImpl->AddConvolution2dLayer(convolution2dDescriptor,
106  weights,
108  name);
109 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddDepthToSpaceLayer()

IConnectableLayer * AddDepthToSpaceLayer ( const DepthToSpaceDescriptor depthToSpaceDescriptor,
const char *  name = nullptr 
)

Adds a depth to space layer to the network.

Parameters
depthToSpaceDescriptor- Parameters for the depth to space operation.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 112 of file Network.cpp.

References INetwork::pNetworkImpl.

114 {
115  return pNetworkImpl->AddDepthToSpaceLayer(depthToSpaceDescriptor, name);
116 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddDepthwiseConvolution2dLayer() [1/3]

IConnectableLayer * AddDepthwiseConvolution2dLayer ( const DepthwiseConvolution2dDescriptor convolution2dDescriptor,
const ConstTensor weights,
const Optional< ConstTensor > &  biases,
const char *  name = nullptr 
)

Adds a 2D depthwise convolution layer to the network.

Parameters
convolution2dDescriptor- Description of the 2D depthwise convolution layer.
weights- Tensor for the weights. Expected format: [channelMultiplier, inputChannels, height, width].
biasesOptional tensor for the bias data. If specified, must match the output tensor shape.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 119 of file Network.cpp.

References INetwork::pNetworkImpl.

Referenced by armnn::GetVector().

124 {
125  return pNetworkImpl->AddDepthwiseConvolution2dLayer(convolution2dDescriptor, weights, biases, name);
126 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddDepthwiseConvolution2dLayer() [2/3]

IConnectableLayer * AddDepthwiseConvolution2dLayer ( const DepthwiseConvolution2dDescriptor convolution2dDescriptor,
const ConstTensor weights,
const char *  name = nullptr 
)

Definition at line 129 of file Network.cpp.

References INetwork::pNetworkImpl.

133 {
134  Optional<ConstTensor> biases;
135  return pNetworkImpl->AddDepthwiseConvolution2dLayer(convolution2dDescriptor, weights, biases, name);
136 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddDepthwiseConvolution2dLayer() [3/3]

IConnectableLayer * AddDepthwiseConvolution2dLayer ( const DepthwiseConvolution2dDescriptor convolution2dDescriptor,
const ConstTensor weights,
const ConstTensor biases,
const char *  name = nullptr 
)

Definition at line 139 of file Network.cpp.

References INetwork::pNetworkImpl.

144 {
145  return pNetworkImpl->AddDepthwiseConvolution2dLayer(convolution2dDescriptor, weights,
146  armnn::Optional<ConstTensor>(biases), name);
147 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddDequantizeLayer()

IConnectableLayer * AddDequantizeLayer ( const char *  name = nullptr)

Adds a Dequantize layer to the network.

Returns
- Interface for configuring the layer.

Definition at line 150 of file Network.cpp.

References INetwork::pNetworkImpl.

151 {
152  return pNetworkImpl->AddDequantizeLayer(name);
153 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddDetectionPostProcessLayer()

IConnectableLayer * AddDetectionPostProcessLayer ( const DetectionPostProcessDescriptor descriptor,
const ConstTensor anchors,
const char *  name = nullptr 
)

Adds a Detection PostProcess layer to the network.

Parameters
descriptor- Description of the Detection PostProcess layer.
anchors- Tensor for anchors.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 156 of file Network.cpp.

References INetwork::pNetworkImpl.

160 {
161  return pNetworkImpl->AddDetectionPostProcessLayer(descriptor, anchors, name);
162 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708
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 })

◆ AddDivisionLayer()

IConnectableLayer * AddDivisionLayer ( const char *  name = nullptr)

Adds a division layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 390 of file Network.cpp.

References INetwork::pNetworkImpl.

Referenced by armnn::GetVector().

391 {
392  return pNetworkImpl->AddDivisionLayer(name);
393 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddElementwiseUnaryLayer()

IConnectableLayer * AddElementwiseUnaryLayer ( const ElementwiseUnaryDescriptor elementwiseUnaryDescriptor,
const char *  name = nullptr 
)

Add an ElementwiseUnary layer to the network.

Parameters
name- Optional name for the layer.
desc- Descriptor for the elementwiseUnary operation.
Returns
- Interface for configuring the layer.

Definition at line 165 of file Network.cpp.

References INetwork::pNetworkImpl.

167 {
168  return pNetworkImpl->AddElementwiseUnaryLayer(elementwiseUnaryDescriptor, name);
169 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddEqualLayer()

IConnectableLayer * AddEqualLayer ( const char *  name = nullptr)

Add a Equal layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 437 of file Network.cpp.

References armnn::Equal, and INetwork::pNetworkImpl.

438 {
439  return pNetworkImpl->AddComparisonLayer(ComparisonDescriptor(ComparisonOperation::Equal), name);
440 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddFillLayer()

IConnectableLayer * AddFillLayer ( const FillDescriptor fillDescriptor,
const char *  name = nullptr 
)

Add an Fill layer to the network.

Parameters
name- Optional name for the layer.
fillDescriptor- Descriptor for the fill operation.
Returns
- Interface for configuring the layer.

Definition at line 172 of file Network.cpp.

References INetwork::pNetworkImpl.

174 {
175  return pNetworkImpl->AddFillLayer(fillDescriptor, name);
176 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddFloorLayer()

IConnectableLayer * AddFloorLayer ( const char *  name = nullptr)

Adds a floor layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 374 of file Network.cpp.

References INetwork::pNetworkImpl.

375 {
376  return pNetworkImpl->AddFloorLayer(name);
377 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddFullyConnectedLayer() [1/4]

IConnectableLayer * AddFullyConnectedLayer ( const FullyConnectedDescriptor fullyConnectedDescriptor,
const Optional< ConstTensor > &  weights,
const Optional< ConstTensor > &  biases,
const char *  name = nullptr 
)

Adds a fully connected layer to the network.

Parameters
fullyConnectedDescriptor- Description of the fully connected layer.
weights-Optional Tensor for the weights data.
biases- Optional tensor for the bias data.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 211 of file Network.cpp.

References INetwork::pNetworkImpl.

Referenced by armnn::GetVector().

215 {
216  return pNetworkImpl->AddFullyConnectedLayer(fullyConnectedDescriptor, weights, biases, name);
217 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddFullyConnectedLayer() [2/4]

IConnectableLayer * AddFullyConnectedLayer ( const FullyConnectedDescriptor fullyConnectedDescriptor,
const ConstTensor weights,
const Optional< ConstTensor > &  biases,
const char *  name = nullptr 
)

Adds a fully connected layer to the network.

Parameters
fullyConnectedDescriptor- Description of the fully connected layer.
weights- Tensor for the weights data.
biases- Optional tensor for the bias data.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 178 of file Network.cpp.

References INetwork::pNetworkImpl.

182 {
183  return pNetworkImpl->AddFullyConnectedLayer(fullyConnectedDescriptor,
185  biases,
186  name);
187 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddFullyConnectedLayer() [3/4]

IConnectableLayer * AddFullyConnectedLayer ( const FullyConnectedDescriptor fullyConnectedDescriptor,
const ConstTensor weights,
const char *  name = nullptr 
)

Definition at line 189 of file Network.cpp.

References INetwork::pNetworkImpl.

192 {
194  return pNetworkImpl->AddFullyConnectedLayer(fullyConnectedDescriptor,
196  biases,
197  name);
198 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddFullyConnectedLayer() [4/4]

IConnectableLayer * AddFullyConnectedLayer ( const FullyConnectedDescriptor fullyConnectedDescriptor,
const ConstTensor weights,
const ConstTensor biases,
const char *  name = nullptr 
)

Definition at line 200 of file Network.cpp.

References INetwork::pNetworkImpl.

204 {
205  return pNetworkImpl->AddFullyConnectedLayer(fullyConnectedDescriptor,
208  name);
209 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddGatherLayer() [1/2]

IConnectableLayer * AddGatherLayer ( const char *  name = nullptr)

Add Gather layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 447 of file Network.cpp.

References INetwork::pNetworkImpl.

448 {
449  GatherDescriptor gatherDescriptor{};
450  return pNetworkImpl->AddGatherLayer(gatherDescriptor, name);
451 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddGatherLayer() [2/2]

IConnectableLayer * AddGatherLayer ( const GatherDescriptor descriptor,
const char *  name = nullptr 
)

Add Gather layer to the network.

Parameters
descriptor- Description of the gather layer.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 453 of file Network.cpp.

References INetwork::pNetworkImpl.

455 {
456  return pNetworkImpl->AddGatherLayer(descriptor, name);
457 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddGreaterLayer()

IConnectableLayer * AddGreaterLayer ( const char *  name = nullptr)

Add a Greater layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 432 of file Network.cpp.

References armnn::Greater, and INetwork::pNetworkImpl.

433 {
434  return pNetworkImpl->AddComparisonLayer(ComparisonDescriptor(ComparisonOperation::Greater), name);
435 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddInputLayer()

IConnectableLayer * AddInputLayer ( LayerBindingId  id,
const char *  name = nullptr 
)

Adds an input layer to the network.

Parameters
id- User generated id to uniquely identify a particular input. The same id needs to be specified. when passing the inputs to the IRuntime::EnqueueWorkload() function.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 50 of file Network.cpp.

References INetwork::pNetworkImpl.

51 {
52  return pNetworkImpl->AddInputLayer(id, name);
53 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddInstanceNormalizationLayer()

IConnectableLayer * AddInstanceNormalizationLayer ( const InstanceNormalizationDescriptor desc,
const char *  name = nullptr 
)

Adds an instance normalization layer to the network.

Parameters
desc- Parameters for the instance normalization operation.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 332 of file Network.cpp.

References INetwork::pNetworkImpl.

334 {
335  return pNetworkImpl->AddInstanceNormalizationLayer(desc, name);
336 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddL2NormalizationLayer()

IConnectableLayer * AddL2NormalizationLayer ( const L2NormalizationDescriptor desc,
const char *  name = nullptr 
)

Adds an L2 normalization layer to the network.

Normalization is performed along dimension 1, but requires a 4d input.

Parameters
desc- Parameters for the L2 normalization operation.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 338 of file Network.cpp.

References INetwork::pNetworkImpl.

340 {
341  return pNetworkImpl->AddL2NormalizationLayer(desc, name);
342 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddLogicalBinaryLayer()

IConnectableLayer * AddLogicalBinaryLayer ( const LogicalBinaryDescriptor descriptor,
const char *  name = nullptr 
)

Adds a Logical Binary layer to the network.

Parameters
descriptor- Description of the Logical Binary layer.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 508 of file Network.cpp.

References INetwork::pNetworkImpl.

510 {
511  return pNetworkImpl->AddLogicalBinaryLayer(descriptor, name);
512 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddLogSoftmaxLayer()

IConnectableLayer * AddLogSoftmaxLayer ( const LogSoftmaxDescriptor logSoftmaxDescriptor,
const char *  name = nullptr 
)

Adds a log softmax layer to the network.

Parameters
logSoftmaxDescriptor- LogSoftmaxDescriptor to configure the log softmax.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 344 of file Network.cpp.

References INetwork::pNetworkImpl.

346 {
347  return pNetworkImpl->AddLogSoftmaxLayer(logSoftmaxDescriptor, name);
348 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddLstmLayer()

IConnectableLayer * AddLstmLayer ( const LstmDescriptor descriptor,
const LstmInputParams params,
const char *  name = nullptr 
)

Add a Lstm layer to the network.

Parameters
descriptor- Parameters for the Lstm operation
params- Weights and biases for the LSTM cell
name- Optional name for the layer
Returns
- Interface for configuring the layer.

Definition at line 383 of file Network.cpp.

References INetwork::pNetworkImpl.

386 {
387  return pNetworkImpl->AddLstmLayer(descriptor, params, name);
388 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddMaximumLayer()

IConnectableLayer * AddMaximumLayer ( const char *  name = nullptr)

Add a Maximum layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 400 of file Network.cpp.

References INetwork::pNetworkImpl.

401 {
402  return pNetworkImpl->AddMaximumLayer(name);
403 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddMeanLayer()

IConnectableLayer * AddMeanLayer ( const MeanDescriptor meanDescriptor,
const char *  name = nullptr 
)

Add a Mean layer to the network.

Parameters
meanDescriptor- Parameters for the mean operation.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 405 of file Network.cpp.

References INetwork::pNetworkImpl.

406 {
407  return pNetworkImpl->AddMeanLayer(meanDescriptor, name);
408 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddMergeLayer()

IConnectableLayer * AddMergeLayer ( const char *  name = nullptr)

Adds a merge layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 265 of file Network.cpp.

References INetwork::pNetworkImpl.

266 {
267  return pNetworkImpl->AddMergeLayer(name);
268 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddMergerLayer()

IConnectableLayer * AddMergerLayer ( const MergerDescriptor mergerDescriptor,
const char *  name = nullptr 
)

Adds a concat layer to the network.

Parameters
mergerDescriptor- MergerDescriptor (synonym for OriginsDescriptor) to configure the concatenation process. Number of Views must be equal to the number of inputs, and their order must match - e.g. first view corresponds to the first input, second view to the second input, etc....
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 270 of file Network.cpp.

References INetwork::pNetworkImpl.

272 {
273  return pNetworkImpl->AddConcatLayer(mergerDescriptor, name);
274 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddMinimumLayer()

IConnectableLayer * AddMinimumLayer ( const char *  name = nullptr)

Add a Minimum layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 427 of file Network.cpp.

References INetwork::pNetworkImpl.

428 {
429  return pNetworkImpl->AddMinimumLayer(name);
430 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddMultiplicationLayer()

IConnectableLayer * AddMultiplicationLayer ( const char *  name = nullptr)

Adds a multiplication layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 286 of file Network.cpp.

References INetwork::pNetworkImpl.

Referenced by armnn::GetVector().

287 {
288  return pNetworkImpl->AddMultiplicationLayer(name);
289 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddNormalizationLayer()

IConnectableLayer * AddNormalizationLayer ( const NormalizationDescriptor normalizationDescriptor,
const char *  name = nullptr 
)

Adds a normalization layer to the network.

Parameters
normalizationDescriptor- NormalizationDescriptor to configure the normalization.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 243 of file Network.cpp.

References INetwork::pNetworkImpl.

245 {
246  return pNetworkImpl->AddNormalizationLayer(normalizationDescriptor, name);
247 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddOutputLayer()

IConnectableLayer * AddOutputLayer ( LayerBindingId  id,
const char *  name = nullptr 
)

Adds an output layer to the network.

Parameters
id- User generated id to uniquely identify a particular output. The same id needs to be specified when passing the outputs to the IRuntime::EnqueueWorkload() function.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 378 of file Network.cpp.

References INetwork::pNetworkImpl.

379 {
380  return pNetworkImpl->AddOutputLayer(id, name);
381 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddPadLayer()

IConnectableLayer * AddPadLayer ( const PadDescriptor padDescriptor,
const char *  name = nullptr 
)

Adds a fully pad layer to the network.

Parameters
paddings- n by 2 tensor, where n is the rank of the input tensor, such that paddings[i,0] indicates the amount of padding to add in front of dimonsion i, and paddings[i,1] indicates the amount of padding to add after the end of dimension i
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 410 of file Network.cpp.

References INetwork::pNetworkImpl.

412 {
413  return pNetworkImpl->AddPadLayer(padDescriptor, name);
414 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddPermuteLayer()

IConnectableLayer * AddPermuteLayer ( const PermuteDescriptor permuteDescriptor,
const char *  name = nullptr 
)

Adds a permute layer to the network.

Parameters
permuteDescriptor- PermuteDescriptor to configure the permute.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 219 of file Network.cpp.

References INetwork::pNetworkImpl.

221 {
222  return pNetworkImpl->AddPermuteLayer(permuteDescriptor, name);
223 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddPooling2dLayer()

IConnectableLayer * AddPooling2dLayer ( const Pooling2dDescriptor pooling2dDescriptor,
const char *  name = nullptr 
)

Adds a pooling layer to the network.

Parameters
pooling2dDescriptor- Pooling2dDescriptor to configure the pooling.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 231 of file Network.cpp.

References INetwork::pNetworkImpl.

233 {
234  return pNetworkImpl->AddPooling2dLayer(pooling2dDescriptor, name);
235 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddPreluLayer()

IConnectableLayer * AddPreluLayer ( const char *  name = nullptr)

Adds a PReLU layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 464 of file Network.cpp.

References INetwork::pNetworkImpl.

465 {
466  return pNetworkImpl->AddPreluLayer(name);
467 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddQLstmLayer()

IConnectableLayer * AddQLstmLayer ( const QLstmDescriptor descriptor,
const LstmInputParams params,
const char *  name = nullptr 
)

Add a QLstm layer to the network.

Parameters
descriptor- Parameters for the QLstm operation
params- Weights and biases for the layer
name- Optional name for the layer
Returns
- Interface for configuring the layer.

Definition at line 501 of file Network.cpp.

References INetwork::pNetworkImpl.

504 {
505  return pNetworkImpl->AddQLstmLayer(descriptor, params, name);
506 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddQuantizedLstmLayer()

IConnectableLayer * AddQuantizedLstmLayer ( const QuantizedLstmInputParams params,
const char *  name = nullptr 
)

Add a QuantizedLstm layer to the network.

Parameters
params- The weights and biases for the Quantized LSTM cell
name- Optional name for the layer
Returns
- Interface for configuring the layer.

Definition at line 495 of file Network.cpp.

References INetwork::pNetworkImpl.

497 {
498  return pNetworkImpl->AddQuantizedLstmLayer(params, name);
499 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddQuantizeLayer()

IConnectableLayer * AddQuantizeLayer ( const char *  name = nullptr)

Add a quantize layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 416 of file Network.cpp.

References INetwork::pNetworkImpl.

417 {
418  return pNetworkImpl->AddQuantizeLayer(name);
419 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddRankLayer()

IConnectableLayer * AddRankLayer ( const char *  name = nullptr)

Adds a rank layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 301 of file Network.cpp.

References INetwork::pNetworkImpl.

302 {
303  return pNetworkImpl->AddRankLayer(name);
304 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddReduceLayer()

IConnectableLayer * AddReduceLayer ( const ReduceDescriptor reduceDescriptor,
const char *  name = nullptr 
)

Adds a reduce layer to the network.

Parameters
ReduceDescriptor- Parameters for the reduce operation.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 326 of file Network.cpp.

References INetwork::pNetworkImpl.

328 {
329  return pNetworkImpl->AddReduceLayer(reduceDescriptor, name);
330 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddReshapeLayer()

IConnectableLayer * AddReshapeLayer ( const ReshapeDescriptor reshapeDescriptor,
const char *  name = nullptr 
)

Adds a reshape layer to the network.

Parameters
reshapeDescriptor- Parameters for the reshape operation.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 356 of file Network.cpp.

References INetwork::pNetworkImpl.

358 {
359  return pNetworkImpl->AddReshapeLayer(reshapeDescriptor, name);
360 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddResizeBilinearLayer()

IConnectableLayer * AddResizeBilinearLayer ( const ResizeBilinearDescriptor resizeDesc,
const char *  name = nullptr 
)

Adds a resize bilinear layer to the network.

Parameters
resizeDesc- Parameters for the resize operation.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 306 of file Network.cpp.

References armnn::Bilinear, ResizeBilinearDescriptor::m_AlignCorners, ResizeDescriptor::m_AlignCorners, ResizeBilinearDescriptor::m_DataLayout, ResizeDescriptor::m_DataLayout, ResizeBilinearDescriptor::m_HalfPixelCenters, ResizeDescriptor::m_HalfPixelCenters, ResizeDescriptor::m_Method, ResizeBilinearDescriptor::m_TargetHeight, ResizeDescriptor::m_TargetHeight, ResizeBilinearDescriptor::m_TargetWidth, ResizeDescriptor::m_TargetWidth, and INetwork::pNetworkImpl.

308 {
309  ResizeDescriptor resizeDescriptor;
310  resizeDescriptor.m_Method = ResizeMethod::Bilinear;
311  resizeDescriptor.m_DataLayout = descriptor.m_DataLayout;
312  resizeDescriptor.m_TargetWidth = descriptor.m_TargetWidth;
313  resizeDescriptor.m_TargetHeight = descriptor.m_TargetHeight;
314  resizeDescriptor.m_AlignCorners = descriptor.m_AlignCorners;
315  resizeDescriptor.m_HalfPixelCenters = descriptor.m_HalfPixelCenters;
316 
317  return pNetworkImpl->AddResizeLayer(resizeDescriptor, name);
318 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddResizeLayer()

IConnectableLayer * AddResizeLayer ( const ResizeDescriptor resizeDescriptor,
const char *  name = nullptr 
)

Adds a resize layer to the network.

Parameters
resizeDescriptor- Parameters for the resize operation.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 320 of file Network.cpp.

References INetwork::pNetworkImpl.

322 {
323  return pNetworkImpl->AddResizeLayer(resizeDescriptor, name);
324 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddRsqrtLayer()

IConnectableLayer * AddRsqrtLayer ( const char *  name = nullptr)

Add Reciprocal of square root layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 442 of file Network.cpp.

References INetwork::pNetworkImpl, and armnn::Rsqrt.

443 {
444  return pNetworkImpl->AddElementwiseUnaryLayer(ElementwiseUnaryDescriptor(UnaryOperation::Rsqrt), name);
445 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddSliceLayer()

IConnectableLayer * AddSliceLayer ( const SliceDescriptor sliceDescriptor,
const char *  name = nullptr 
)

Adds a slice layer to the network.

Parameters
sliceDescriptor- SliceDescriptor to configure the slice operation.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 249 of file Network.cpp.

References INetwork::pNetworkImpl.

250 {
251  return pNetworkImpl->AddSliceLayer(sliceDescriptor, name);
252 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddSoftmaxLayer()

IConnectableLayer * AddSoftmaxLayer ( const SoftmaxDescriptor softmaxDescriptor,
const char *  name = nullptr 
)

Adds a softmax layer to the network.

If the data type is QAsymm8, then the output quantization parameters must have a scale of 1/256 and an offset of 0

Parameters
softmaxDescriptor- SoftmaxDescriptor to configure the softmax.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 253 of file Network.cpp.

References INetwork::pNetworkImpl.

255 {
256  return pNetworkImpl->AddSoftmaxLayer(softmaxDescriptor, name);
257 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddSpaceToBatchNdLayer()

IConnectableLayer * AddSpaceToBatchNdLayer ( const SpaceToBatchNdDescriptor spaceToBatchNdDescriptor,
const char *  name = nullptr 
)

Adds a space to batch layer to the network.

Parameters
spaceToBatchNdDescriptor- Parameters for the space to batch operation.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 362 of file Network.cpp.

References INetwork::pNetworkImpl.

364 {
365  return pNetworkImpl->AddSpaceToBatchNdLayer(spaceToBatchNdDescriptor, name);
366 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddSpaceToDepthLayer()

IConnectableLayer * AddSpaceToDepthLayer ( const SpaceToDepthDescriptor spaceToDepthDescriptor,
const char *  name = nullptr 
)

Adds a space to depth layer to the network.

Parameters
spaceToDepthDescriptor- Parameters for the space to depth operation.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 368 of file Network.cpp.

References INetwork::pNetworkImpl.

370 {
371  return pNetworkImpl->AddSpaceToDepthLayer(spaceToDepthDescriptor, name);
372 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddSplitterLayer()

IConnectableLayer * AddSplitterLayer ( const ViewsDescriptor splitterDescriptor,
const char *  name = nullptr 
)

Adds a splitter layer to the network.

Parameters
splitterDescriptor- ViewsDescriptor 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....
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 259 of file Network.cpp.

References INetwork::pNetworkImpl.

261 {
262  return pNetworkImpl->AddSplitterLayer(splitterDescriptor, name);
263 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddStackLayer()

IConnectableLayer * AddStackLayer ( const StackDescriptor descriptor,
const char *  name = nullptr 
)

Adds a stack layer to the network.

Parameters
descriptor- Description of the stack layer.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 483 of file Network.cpp.

References INetwork::pNetworkImpl.

485 {
486  return pNetworkImpl->AddStackLayer(descriptor, name);
487 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddStandInLayer()

IConnectableLayer * AddStandInLayer ( const StandInDescriptor descriptor,
const char *  name = nullptr 
)

Add a stand-in layer for a type unknown to the Arm NN framework.

Note: Due to the nature of this layer, no validation can be performed by the framework. Furthermore, Any model containing this layer cannot make use of dynamic tensors since the tensor sizes cannot be inferred. - Descriptor for the StandIn layer.

Returns
- Interface for configuring the layer.

Definition at line 489 of file Network.cpp.

References INetwork::pNetworkImpl.

491 {
492  return pNetworkImpl->AddStandInLayer(descriptor, name);
493 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddStridedSliceLayer()

IConnectableLayer * AddStridedSliceLayer ( const StridedSliceDescriptor stridedSliceDescriptor,
const char *  name = nullptr 
)

Adds a strided slice layer to the network.

Parameters
StridedSliceDescriptor- Parameters for the strided slice operation.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 421 of file Network.cpp.

References INetwork::pNetworkImpl.

423 {
424  return pNetworkImpl->AddStridedSliceLayer(stridedSliceDescriptor, name);
425 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddSubtractionLayer()

IConnectableLayer * AddSubtractionLayer ( const char *  name = nullptr)

Adds a subtraction layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 395 of file Network.cpp.

References INetwork::pNetworkImpl.

Referenced by armnn::GetVector().

396 {
397  return pNetworkImpl->AddSubtractionLayer(name);
398 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddSwitchLayer()

IConnectableLayer * AddSwitchLayer ( const char *  name = nullptr)

Adds a switch layer to the network.

Parameters
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 459 of file Network.cpp.

References INetwork::pNetworkImpl.

460 {
461  return pNetworkImpl->AddSwitchLayer(name);
462 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddTransposeConvolution2dLayer()

IConnectableLayer * AddTransposeConvolution2dLayer ( const TransposeConvolution2dDescriptor descriptor,
const ConstTensor weights,
const Optional< ConstTensor > &  biases,
const char *  name = nullptr 
)

Adds a 2D transpose convolution layer to the network.

Parameters
descriptor- Description of the 2D transpose convolution layer.
weights- Tensor for the weights data.
biases- Optional tensor for the bias data.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 469 of file Network.cpp.

References INetwork::pNetworkImpl.

473 {
474  return pNetworkImpl->AddTransposeConvolution2dLayer(descriptor, weights, biases, name);
475 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ AddTransposeLayer()

IConnectableLayer * AddTransposeLayer ( const TransposeDescriptor transposeDescriptor,
const char *  name = nullptr 
)

Adds a transpose layer to the network.

Parameters
transposeDescriptor- TransposeDescriptor to configure the transpose.
name- Optional name for the layer.
Returns
- Interface for configuring the layer.

Definition at line 477 of file Network.cpp.

References INetwork::pNetworkImpl.

479 {
480  return pNetworkImpl->AddTransposeLayer(transposeDescriptor, name);
481 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ Create()

armnn::INetworkPtr Create ( NetworkOptions  networkOptions = {})
static

Definition at line 529 of file Network.cpp.

References INetwork::CreateRaw(), and INetwork::Destroy().

Referenced by BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), armnn::experimental::CreateStridedSliceNetwork(), CreatNetwork(), armnn::CreatNetwork(), GetSoftmaxProfilerJson(), QLstmEndToEnd(), SerializeArgMinMaxTest(), and VerifyPostOptimisationStructureTestImpl().

530 {
531  return INetworkPtr(CreateRaw(networkOptions), &INetwork::Destroy);
532 }
static void Destroy(INetwork *network)
Definition: Network.cpp:534
static INetwork * CreateRaw(NetworkOptions networkOptions={})
Definition: Network.cpp:524
std::unique_ptr< INetwork, void(*)(INetwork *network)> INetworkPtr
Definition: INetwork.hpp:173

◆ CreateRaw()

armnn::INetwork * CreateRaw ( NetworkOptions  networkOptions = {})
static

Definition at line 524 of file Network.cpp.

References INetwork::INetwork().

Referenced by INetwork::Create().

525 {
526  return new INetwork(networkOptions);
527 }
INetwork(NetworkOptions networkOptions={})
Definition: Network.cpp:41

◆ Destroy()

void Destroy ( INetwork network)
static

Definition at line 534 of file Network.cpp.

Referenced by INetwork::Create().

535 {
536  delete network;
537 }

◆ ExecuteStrategy()

void ExecuteStrategy ( IStrategy strategy) const

Definition at line 519 of file Network.cpp.

References INetwork::pNetworkImpl.

Referenced by ISerializer::SerializerImpl::Serialize().

520 {
521  return pNetworkImpl->ExecuteStrategy(strategy);
522 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

◆ PrintGraph()

Status PrintGraph ( )

Definition at line 45 of file Network.cpp.

References INetwork::pNetworkImpl.

46 {
47  return pNetworkImpl->PrintGraph();
48 }
std::unique_ptr< NetworkImpl > pNetworkImpl
Definition: INetwork.hpp:708

Friends And Related Function Documentation

◆ GetInputTensorInfo

TensorInfo GetInputTensorInfo ( const INetwork network)
friend

◆ Optimize

IOptimizedNetworkPtr Optimize ( const INetwork network,
const std::vector< BackendId > &  backendPreferences,
const IDeviceSpec deviceSpec,
const OptimizerOptions options = OptimizerOptions(),
Optional< std::vector< std::string > &>  messages = EmptyOptional() 
)
friend

Create an optimized version of the network.

Parameters
networkINetwork description of the network to be optimized.
backendPreferencesThe choice of the backend ordered by user preferences.
deviceSpecDeviceSpec object as queried from the runtime. See IRuntime::GetDeviceSpec()
messagesIf there are failures or warnings a string describing same will be added to the vector
optionsOptimizerOptions object with optimizer configuration options
Returns
An IOptimizedNetworkPtr interface to the optimized network, throws an exception derived from armnn::Exception if process fails.

Definition at line 1568 of file Network.cpp.

1573 {
1574  if (backendPreferences.empty())
1575  {
1576  throw InvalidArgumentException("Invoked Optimize with no backends specified");
1577  }
1578 
1579  if (options.m_ReduceFp32ToFp16 && options.m_ReduceFp32ToBf16)
1580  {
1581  throw InvalidArgumentException("BFloat16 and Float16 optimization cannot be enabled at the same time.");
1582  }
1583 
1584  std::unique_ptr<Graph> graph = std::make_unique<Graph>(inNetwork.pNetworkImpl->GetGraph());
1585 
1586  auto optNet = IOptimizedNetworkPtr(new IOptimizedNetwork(std::move(graph), options.m_ModelOptions),
1588 
1589  IOptimizedNetwork* optNetObjPtr = optNet.get();
1590 
1591  // Get the optimized graph
1592  Graph& optGraph = optNetObjPtr->pOptimizedNetworkImpl->GetGraph();
1593 
1594  // Perform AddBroadcastReshapeLayer optimisation
1595  using namespace optimizations;
1597 
1598  // Infer the tensor infos for all output slots. Throws an exception on failure
1599  optGraph.InferTensorInfos();
1600 
1601  // Perform optimisation passes
1607  MovePermuteUp(),
1608  MoveTransposeUp(),
1609  PermuteAsReshape(),
1620 
1621  // If Fp32 to Fp16 optimization is set convert Fp32 network to Fp16
1622  if (options.m_ReduceFp32ToFp16)
1623  {
1626  }
1627 
1628  // If Fp32 to Bf16 optimization is set convert Fp32 network to Bf16
1629  // Convert input of Convolution2d and FullyConnected from Fp32 to Bf16
1630  // Only Constant weight of Convolution2d and FullyConnected are converted from Fp32 to Bf16
1631  if (options.m_ReduceFp32ToBf16)
1632  {
1634  }
1635 
1636  // Initialize backend settings
1637  BackendSettings backendSettings(backendPreferences, deviceSpec);
1638  if (backendSettings.GetAvailablePreferredBackends().empty())
1639  {
1640  std::stringstream failureMsg;
1641  failureMsg << "None of the preferred backends " << backendPreferences
1642  << " are supported. Current platform provides " << backendSettings.m_SupportedBackends;
1643  ReportError(failureMsg.str(), messages);
1644  throw InvalidArgumentException(failureMsg.str());
1645  }
1646 
1647  // Create a map to temporarily hold initialized backend objects
1648  TensorHandleFactoryRegistry tensorHandleFactoryRegistry;
1649  BackendsMap backends = CreateSupportedBackends(tensorHandleFactoryRegistry, backendSettings);
1650 
1651  // Assign an available backend to each layer
1652  Graph::Iterator firstLayer = optGraph.begin();
1653  Graph::Iterator lastLayer = optGraph.end();
1654  OptimizationResult assignBackendsResult = AssignBackends(optNetObjPtr->pOptimizedNetworkImpl.get(),
1655  backendSettings,
1656  firstLayer,
1657  lastLayer,
1658  messages);
1659  if (assignBackendsResult.m_Error)
1660  {
1661  // Failed to assign a backend to each layer
1662  throw InvalidArgumentException("Failed to assign a backend to each layer");
1663  }
1664 
1667 
1668  // Apply the backend-specific optimizations
1669  OptimizationResult backendOptimizationResult = ApplyBackendOptimizations(optNetObjPtr->pOptimizedNetworkImpl.get(),
1670  backendSettings,
1671  backends,
1672  options.m_ModelOptions,
1673  messages);
1674  if (backendOptimizationResult.m_Error)
1675  {
1676  // Failed to apply the backend-specific optimizations
1677  throw InvalidArgumentException("Failed to apply the backend-specific optimizations");
1678  }
1679 
1680  // If the debug flag is set, then insert a DebugLayer after each layer
1681  // Doing this after applying the backend optimizations as they might have changed some layers
1682  if (options.m_Debug)
1683  {
1685  }
1686 
1687  // Calculate the compatibility strategies for tensor handles
1688  OptimizationResult strategyResult = SelectTensorHandleStrategy(optGraph,
1689  backends,
1690  tensorHandleFactoryRegistry,
1691  options.m_ImportEnabled,
1692  messages);
1693  if (strategyResult.m_Error)
1694  {
1695  // Failed to apply the backend-specific optimizations
1697  }
1698 
1699  // Based on the tensor handle strategy determined above, insert copy layers where required.
1700  optGraph.AddCompatibilityLayers(backends, tensorHandleFactoryRegistry);
1701 
1702  // Convert constants
1705 
1706  // Run backend specific optimizations (deprecated)
1707  for (auto&& chosenBackend : backendSettings.m_SelectedBackends)
1708  {
1709  auto factoryFun = BackendRegistryInstance().GetFactory(chosenBackend);
1710  auto backendPtr = factoryFun();
1711  ARMNN_ASSERT(backendPtr.get() != nullptr);
1712 
1714  auto backendSpecificOptimizations = backendPtr->GetOptimizations();
1716 
1717  if (!backendSpecificOptimizations.empty())
1718  {
1719  Optimizer::Pass(optNetObjPtr->pOptimizedNetworkImpl->GetGraph(), backendSpecificOptimizations);
1720  }
1721  }
1722 
1723  return optNet;
1724 }
OptimizeForConnection< Layer, PermuteLayer, SquashEqualSiblingsImpl< PermuteLayer > > SquashEqualPermuteSiblings
void ReportError(const std::string &errorMessage, Optional< std::vector< std::string > &> errorMessages)
Definition: Network.cpp:582
OptimizationResult AssignBackends(OptimizedNetworkImpl *optNetObjPtr, BackendSettings &backendSettings, Graph::Iterator &firstLayer, Graph::Iterator &lastLayer, Optional< std::vector< std::string > &> errMessages)
Definition: Network.cpp:888
FactoryFunction GetFactory(const BackendId &id) const
OptimizeForConnection< PermuteLayer, PermuteLayer, OptimizeInversePermutesImpl< PermuteLayer > > OptimizeInversePermutes
OptimizeForExclusiveConnection< PadLayer, Convolution2dLayer, pad_fold::FoldPadIntoConvolution2dImpl > FoldPadIntoConvolution2d
Optimizer::Optimizations MakeOptimizations(Args &&... args)
Definition: Optimizer.hpp:43
OptimizeForConnection< TransposeLayer, TransposeLayer, OptimizeInversePermutesImpl< TransposeLayer > > OptimizeInverseTransposes
OptimizeForConnection< TransposeLayer, BatchToSpaceNdLayer, PermuteAndBatchToSpaceAsDepthToSpaceImpl< TransposeLayer > > TransposeAndBatchToSpaceAsDepthToSpace
OptimizeForExclusiveConnection< DepthwiseConvolution2dLayer, BatchNormalizationLayer, FuseBatchNorm< DepthwiseConvolution2dLayer, armnn::DataType::Float32 > > FuseBatchNormIntoDepthwiseConvolution2DFloat32
#define ARMNN_NO_DEPRECATE_WARN_BEGIN
Definition: Deprecated.hpp:33
static void Pass(Graph &graph, const Optimizations &optimizations)
Definition: Optimizer.cpp:16
OptimizeForExclusiveConnection< DepthwiseConvolution2dLayer, BatchNormalizationLayer, FuseBatchNorm< DepthwiseConvolution2dLayer, armnn::DataType::Float16 > > FuseBatchNormIntoDepthwiseConvolution2DFloat16
OptimizeForExclusiveConnection< Convolution2dLayer, BatchNormalizationLayer, FuseBatchNorm< Convolution2dLayer, armnn::DataType::Float16 > > FuseBatchNormIntoConvolution2DFloat16
OptimizeForExclusiveConnection< Convolution2dLayer, BatchNormalizationLayer, FuseBatchNorm< Convolution2dLayer, armnn::DataType::Float32 > > FuseBatchNormIntoConvolution2DFloat32
BackendRegistry & BackendRegistryInstance()
OptimizeForConnection< Layer, ReshapeLayer, SquashEqualSiblingsImpl< ReshapeLayer > > SquashEqualReshapeSiblings
OptimizeForConnection< Layer, TransposeLayer, MoveTransposeUpImpl > MoveTransposeUp
LayerList::const_iterator Iterator
Definition: Graph.hpp:50
OptimizeForType< Layer, AddDebugImpl > InsertDebugLayer
Definition: AddDebug.hpp:34
OptimizeForConnection< ReshapeLayer, ReshapeLayer, OptimizeConsecutiveReshapesImpl > OptimizeConsecutiveReshapes
OptimizeForConnection< ConvertFp16ToFp32Layer, ConvertFp32ToFp16Layer, OptimizeInverseConversionsImpl > OptimizeInverseConversionsFp16
OptimizeForConnection< PermuteLayer, BatchToSpaceNdLayer, PermuteAndBatchToSpaceAsDepthToSpaceImpl< PermuteLayer > > PermuteAndBatchToSpaceAsDepthToSpace
OptimizeForConnection< Layer, PermuteLayer, MovePermuteUpImpl > MovePermuteUp
ConvertConstants< Float32ToFloat16, IsFloat16Layer > ConvertConstantsFloatToHalf
OptimizeForType< TransposeLayer, TransposeAsReshapeImpl > TransposeAsReshape
#define ARMNN_NO_DEPRECATE_WARN_END
Definition: Deprecated.hpp:34
OptimizationResult ApplyBackendOptimizations(OptimizedNetworkImpl *optNetObjPtr, BackendSettings &backendSettings, BackendsMap &backends, const ModelOptions &modelOptions, Optional< std::vector< std::string > &> errMessages)
Definition: Network.cpp:1047
std::unique_ptr< IOptimizedNetwork, void(*)(IOptimizedNetwork *network)> IOptimizedNetworkPtr
Definition: INetwork.hpp:174
#define ARMNN_ASSERT(COND)
Definition: Assert.hpp:14
OptimizeForType< PermuteLayer, PermuteAsReshapeImpl > PermuteAsReshape
OptimizeForConnection< Layer, TransposeLayer, SquashEqualSiblingsImpl< TransposeLayer > > SquashEqualTransposeSiblings
ConvertConstants< Float16ToFloat32, IsFloat32Layer > ConvertConstantsHalfToFloat
BackendsMap CreateSupportedBackends(TensorHandleFactoryRegistry &handleFactoryRegistry, BackendSettings &backendSettings)
Definition: Network.cpp:1028
OptimizeForConnection< ConvertFp32ToFp16Layer, ConvertFp16ToFp32Layer, OptimizeInverseConversionsImpl > OptimizeInverseConversionsFp32
OptimizeForExclusiveConnection< PadLayer, Pooling2dLayer, pad_fold::FoldPadIntoPooling2dImpl > FoldPadIntoPooling2d
OptimizeForType< Layer, ConvertFp32NetworkToFp16Impl > Fp32NetworkToFp16Converter
OptimizationResult SelectTensorHandleStrategy(Graph &optGraph, BackendsMap &backends, TensorHandleFactoryRegistry &registry, bool importEnabled, Optional< std::vector< std::string > &> errMessages)
Definition: Network.cpp:1500
OptimizeForType< Layer, AddBroadcastReshapeLayerImpl > AddBroadcastReshapeLayer
static void Destroy(IOptimizedNetwork *network)
Definition: Network.cpp:551
OptimizeForType< Layer, ConvertFp32NetworkToBf16Impl > Fp32NetworkToBf16Converter
std::map< BackendId, std::unique_ptr< class IBackendInternal > > BackendsMap
Definition: Network.hpp:317

◆ TestConnectionPreservation

friend class TestConnectionPreservation
friend

Definition at line 698 of file INetwork.hpp.

◆ VisitLayersTopologically

void VisitLayersTopologically ( const INetwork inputNetwork,
IStrategy strategy 
)
friend

Member Data Documentation

◆ pNetworkImpl

std::unique_ptr<NetworkImpl> pNetworkImpl
protected

Definition at line 708 of file INetwork.hpp.

Referenced by INetwork::Accept(), INetwork::AddAbsLayer(), INetwork::AddActivationLayer(), INetwork::AddAdditionLayer(), INetwork::AddArgMinMaxLayer(), INetwork::AddBatchNormalizationLayer(), INetwork::AddBatchToSpaceNdLayer(), INetwork::AddCastLayer(), INetwork::AddComparisonLayer(), INetwork::AddConcatLayer(), INetwork::AddConstantLayer(), INetwork::AddConvolution2dLayer(), INetwork::AddDepthToSpaceLayer(), INetwork::AddDepthwiseConvolution2dLayer(), INetwork::AddDequantizeLayer(), INetwork::AddDetectionPostProcessLayer(), INetwork::AddDivisionLayer(), INetwork::AddElementwiseUnaryLayer(), INetwork::AddEqualLayer(), INetwork::AddFillLayer(), INetwork::AddFloorLayer(), INetwork::AddFullyConnectedLayer(), INetwork::AddGatherLayer(), INetwork::AddGreaterLayer(), INetwork::AddInputLayer(), INetwork::AddInstanceNormalizationLayer(), INetwork::AddL2NormalizationLayer(), INetwork::AddLogicalBinaryLayer(), INetwork::AddLogSoftmaxLayer(), INetwork::AddLstmLayer(), INetwork::AddMaximumLayer(), INetwork::AddMeanLayer(), INetwork::AddMergeLayer(), INetwork::AddMergerLayer(), INetwork::AddMinimumLayer(), INetwork::AddMultiplicationLayer(), INetwork::AddNormalizationLayer(), INetwork::AddOutputLayer(), INetwork::AddPadLayer(), INetwork::AddPermuteLayer(), INetwork::AddPooling2dLayer(), INetwork::AddPreluLayer(), INetwork::AddQLstmLayer(), INetwork::AddQuantizedLstmLayer(), INetwork::AddQuantizeLayer(), INetwork::AddRankLayer(), INetwork::AddReduceLayer(), INetwork::AddReshapeLayer(), INetwork::AddResizeBilinearLayer(), INetwork::AddResizeLayer(), INetwork::AddRsqrtLayer(), INetwork::AddSliceLayer(), INetwork::AddSoftmaxLayer(), INetwork::AddSpaceToBatchNdLayer(), INetwork::AddSpaceToDepthLayer(), INetwork::AddSplitterLayer(), INetwork::AddStackLayer(), INetwork::AddStandInLayer(), INetwork::AddStridedSliceLayer(), INetwork::AddSubtractionLayer(), INetwork::AddSwitchLayer(), INetwork::AddTransposeConvolution2dLayer(), INetwork::AddTransposeLayer(), INetwork::ExecuteStrategy(), armnn::Optimize(), and INetwork::PrintGraph().


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