20.02
|
Main network class which provides the interface for building up a neural network. More...
#include <INetwork.hpp>
Public Member Functions | |
virtual Status | PrintGraph ()=0 |
virtual profiling::ProfilingGuid | GetGuid () const =0 |
virtual IConnectableLayer * | AddInputLayer (LayerBindingId id, const char *name=nullptr)=0 |
Adds an input layer to the network. More... | |
virtual IConnectableLayer * | AddArgMinMaxLayer (const ArgMinMaxDescriptor &desc, const char *name=nullptr)=0 |
Adds an ArgMinMax layer to the network. More... | |
virtual IConnectableLayer * | AddComparisonLayer (const ComparisonDescriptor &comparisonDescriptor, const char *name=nullptr)=0 |
Add a Comparison layer to the network. More... | |
virtual IConnectableLayer * | AddConcatLayer (const ConcatDescriptor &concatDescriptor, const char *name=nullptr)=0 |
Adds a concatenation layer to the network. More... | |
virtual IConnectableLayer * | AddConvolution2dLayer (const Convolution2dDescriptor &convolution2dDescriptor, const ConstTensor &weights, const Optional< ConstTensor > &biases, const char *name=nullptr)=0 |
Adds a 2D convolution layer to the network. More... | |
virtual IConnectableLayer * | AddConvolution2dLayer (const Convolution2dDescriptor &convolution2dDescriptor, const ConstTensor &weights, const char *name=nullptr)=0 |
virtual IConnectableLayer * | AddConvolution2dLayer (const Convolution2dDescriptor &convolution2dDescriptor, const ConstTensor &weights, const ConstTensor &biases, const char *name=nullptr)=0 |
virtual IConnectableLayer * | AddDepthToSpaceLayer (const DepthToSpaceDescriptor &depthToSpaceDescriptor, const char *name=nullptr)=0 |
Adds a depth to space layer to the network. More... | |
virtual IConnectableLayer * | AddDepthwiseConvolution2dLayer (const DepthwiseConvolution2dDescriptor &convolution2dDescriptor, const ConstTensor &weights, const Optional< ConstTensor > &biases, const char *name=nullptr)=0 |
Adds a 2D depthwise convolution layer to the network. More... | |
virtual IConnectableLayer * | AddDepthwiseConvolution2dLayer (const DepthwiseConvolution2dDescriptor &convolution2dDescriptor, const ConstTensor &weights, const char *name=nullptr)=0 |
virtual IConnectableLayer * | AddDepthwiseConvolution2dLayer (const DepthwiseConvolution2dDescriptor &convolution2dDescriptor, const ConstTensor &weights, const ConstTensor &biases, const char *name=nullptr)=0 |
virtual IConnectableLayer * | AddDequantizeLayer (const char *name=nullptr)=0 |
Adds a Dequantize layer to the network. More... | |
virtual IConnectableLayer * | AddDetectionPostProcessLayer (const DetectionPostProcessDescriptor &descriptor, const ConstTensor &anchors, const char *name=nullptr)=0 |
Adds a Detection PostProcess layer to the network. More... | |
virtual IConnectableLayer * | AddElementwiseUnaryLayer (const ElementwiseUnaryDescriptor &elementwiseUnaryDescriptor, const char *name=nullptr)=0 |
Add an ElementwiseUnary layer to the network. More... | |
virtual IConnectableLayer * | AddFullyConnectedLayer (const FullyConnectedDescriptor &fullyConnectedDescriptor, const ConstTensor &weights, const Optional< ConstTensor > &biases, const char *name=nullptr)=0 |
Adds a fully connected layer to the network. More... | |
virtual IConnectableLayer * | AddFullyConnectedLayer (const FullyConnectedDescriptor &fullyConnectedDescriptor, const ConstTensor &weights, const char *name=nullptr)=0 |
virtual IConnectableLayer * | AddFullyConnectedLayer (const FullyConnectedDescriptor &fullyConnectedDescriptor, const ConstTensor &weights, const ConstTensor &biases, const char *name=nullptr)=0 |
virtual IConnectableLayer * | AddPermuteLayer (const PermuteDescriptor &permuteDescriptor, const char *name=nullptr)=0 |
Adds a permute layer to the network. More... | |
virtual IConnectableLayer * | AddBatchToSpaceNdLayer (const BatchToSpaceNdDescriptor &batchToSpaceNdDescriptor, const char *name=nullptr)=0 |
Adds a batch to space ND layer to the network. More... | |
virtual IConnectableLayer * | AddPooling2dLayer (const Pooling2dDescriptor &pooling2dDescriptor, const char *name=nullptr)=0 |
Adds a pooling layer to the network. More... | |
virtual IConnectableLayer * | AddActivationLayer (const ActivationDescriptor &activationDescriptor, const char *name=nullptr)=0 |
Adds an activation layer to the network. More... | |
virtual IConnectableLayer * | AddNormalizationLayer (const NormalizationDescriptor &normalizationDescriptor, const char *name=nullptr)=0 |
Adds a normalization layer to the network. More... | |
virtual IConnectableLayer * | AddSliceLayer (const SliceDescriptor &sliceDescriptor, const char *name=nullptr)=0 |
Adds a slice layer to the network. More... | |
virtual IConnectableLayer * | AddSoftmaxLayer (const SoftmaxDescriptor &softmaxDescriptor, const char *name=nullptr)=0 |
Adds a softmax layer to the network. More... | |
virtual IConnectableLayer * | AddSplitterLayer (const ViewsDescriptor &splitterDescriptor, const char *name=nullptr)=0 |
Adds a splitter layer to the network. More... | |
virtual IConnectableLayer * | AddMergeLayer (const char *name=nullptr)=0 |
Adds a merge layer to the network. More... | |
virtual IConnectableLayer * | AddMergerLayer (const MergerDescriptor &mergerDescriptor, const char *name=nullptr)=0 |
Adds a concat layer to the network. More... | |
virtual IConnectableLayer * | AddAbsLayer (const char *name=nullptr)=0 |
Add absolute layer to the network. More... | |
virtual IConnectableLayer * | AddAdditionLayer (const char *name=nullptr)=0 |
Adds an addition layer to the network. More... | |
virtual IConnectableLayer * | AddMultiplicationLayer (const char *name=nullptr)=0 |
Adds a multiplication layer to the network. More... | |
virtual IConnectableLayer * | AddBatchNormalizationLayer (const BatchNormalizationDescriptor &desc, const ConstTensor &mean, const ConstTensor &variance, const ConstTensor &beta, const ConstTensor &gamma, const char *name=nullptr)=0 |
Adds a batch normalization layer to the network. More... | |
virtual IConnectableLayer * | AddResizeBilinearLayer (const ResizeBilinearDescriptor &resizeDesc, const char *name=nullptr)=0 |
Adds a resize bilinear layer to the network. More... | |
virtual IConnectableLayer * | AddResizeLayer (const ResizeDescriptor &resizeDescriptor, const char *name=nullptr)=0 |
Adds a resize layer to the network. More... | |
virtual IConnectableLayer * | AddInstanceNormalizationLayer (const InstanceNormalizationDescriptor &desc, const char *name=nullptr)=0 |
Adds an instance normalization layer to the network. More... | |
virtual IConnectableLayer * | AddL2NormalizationLayer (const L2NormalizationDescriptor &desc, const char *name=nullptr)=0 |
Adds an L2 normalization layer to the network. More... | |
virtual IConnectableLayer * | AddLogSoftmaxLayer (const LogSoftmaxDescriptor &logSoftmaxDescriptor, const char *name=nullptr)=0 |
Adds a log softmax layer to the network. More... | |
virtual IConnectableLayer * | AddConstantLayer (const ConstTensor &input, const char *name=nullptr)=0 |
Adds a layer with no inputs and a single output, which always corresponds to the passed in constant tensor. More... | |
virtual IConnectableLayer * | AddReshapeLayer (const ReshapeDescriptor &reshapeDescriptor, const char *name=nullptr)=0 |
Adds a reshape layer to the network. More... | |
virtual IConnectableLayer * | AddSpaceToBatchNdLayer (const SpaceToBatchNdDescriptor &spaceToBatchNdDescriptor, const char *name=nullptr)=0 |
Adds a space to batch layer to the network. More... | |
virtual IConnectableLayer * | AddSpaceToDepthLayer (const SpaceToDepthDescriptor &spaceToDepthDescriptor, const char *name=nullptr)=0 |
Adds a space to depth layer to the network. More... | |
virtual IConnectableLayer * | AddFloorLayer (const char *name=nullptr)=0 |
Adds a floor layer to the network. More... | |
virtual IConnectableLayer * | AddOutputLayer (LayerBindingId id, const char *name=nullptr)=0 |
Adds an output layer to the network. More... | |
virtual IConnectableLayer * | AddLstmLayer (const LstmDescriptor &descriptor, const LstmInputParams ¶ms, const char *name=nullptr)=0 |
Add a Lstm layer to the network. More... | |
virtual IConnectableLayer * | AddDivisionLayer (const char *name=nullptr)=0 |
Adds a division layer to the network. More... | |
virtual IConnectableLayer * | AddSubtractionLayer (const char *name=nullptr)=0 |
Adds a subtraction layer to the network. More... | |
virtual IConnectableLayer * | AddMaximumLayer (const char *name=nullptr)=0 |
Add a Maximum layer to the network. More... | |
virtual IConnectableLayer * | AddMeanLayer (const MeanDescriptor &meanDescriptor, const char *name=nullptr)=0 |
Add a Mean layer to the network. More... | |
virtual IConnectableLayer * | AddPadLayer (const PadDescriptor &padDescriptor, const char *name=nullptr)=0 |
Adds a fully pad layer to the network. More... | |
virtual IConnectableLayer * | AddQuantizeLayer (const char *name=nullptr)=0 |
Add a quantize layer to the network. More... | |
virtual IConnectableLayer * | AddStridedSliceLayer (const StridedSliceDescriptor &stridedSliceDescriptor, const char *name=nullptr)=0 |
Adds a strided slice layer to the network. More... | |
virtual IConnectableLayer * | AddMinimumLayer (const char *name=nullptr)=0 |
Add a Minimum layer to the network. More... | |
virtual IConnectableLayer * | AddGreaterLayer (const char *name=nullptr)=0 |
Add a Greater layer to the network. More... | |
virtual IConnectableLayer * | AddEqualLayer (const char *name=nullptr)=0 |
Add a Equal layer to the network. More... | |
virtual IConnectableLayer * | AddRsqrtLayer (const char *name=nullptr)=0 |
Add Reciprocal of square root layer to the network. More... | |
virtual IConnectableLayer * | AddGatherLayer (const char *name=nullptr)=0 |
Add Gather layer to the network. More... | |
virtual IConnectableLayer * | AddSwitchLayer (const char *name=nullptr)=0 |
Adds a switch layer to the network. More... | |
virtual IConnectableLayer * | AddPreluLayer (const char *name=nullptr)=0 |
Adds a PReLU layer to the network. More... | |
virtual IConnectableLayer * | AddTransposeConvolution2dLayer (const TransposeConvolution2dDescriptor &descriptor, const ConstTensor &weights, const Optional< ConstTensor > &biases, const char *name=nullptr)=0 |
Adds a 2D transpose convolution layer to the network. More... | |
virtual IConnectableLayer * | AddTransposeLayer (const TransposeDescriptor &transposeDescriptor, const char *name=nullptr)=0 |
Adds a transpose layer to the network. More... | |
virtual IConnectableLayer * | AddStackLayer (const StackDescriptor &descriptor, const char *name=nullptr)=0 |
Adds a stack layer to the network. More... | |
virtual IConnectableLayer * | AddStandInLayer (const StandInDescriptor &descriptor, const char *name=nullptr)=0 |
Add a stand-in layer for a type unknown to the Arm NN framework. More... | |
virtual IConnectableLayer * | AddQuantizedLstmLayer (const QuantizedLstmInputParams ¶ms, const char *name=nullptr)=0 |
Add a QuantizedLstm layer to the network. More... | |
virtual void | Accept (ILayerVisitor &visitor) const =0 |
Static Public Member Functions | |
static INetwork * | CreateRaw () |
static INetworkPtr | Create () |
static void | Destroy (INetwork *network) |
Protected Member Functions | |
~INetwork () | |
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 105 of file INetwork.hpp.
|
inlineprotected |
Definition at line 563 of file INetwork.hpp.
|
pure virtual |
Implemented in Network.
Referenced by Serializer::Serialize().
|
pure virtual |
|
pure virtual |
Adds an activation layer to the network.
activationDescriptor | - ActivationDescriptor to configure the activation. |
name | - Optional name for the layer. |
Implemented in Network.
Referenced by BOOST_AUTO_TEST_CASE(), armnn::CreateStartOfLeakyReluNetwork(), armnnTfParser::OutputShapeOfExpandDims(), and armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
Adds an addition layer to the network.
name | - Optional name for the layer. |
Implemented in Network.
Referenced by BOOST_AUTO_TEST_CASE(), armnnTfParser::OutputShapeOfSqueeze(), and TfParser::TfParser().
|
pure virtual |
|
pure virtual |
Adds a batch normalization layer to the network.
mean | - Pre-calculated mean for each channel. |
variance | - Pre-calculated variance for each channel. |
beta | - Per-channel additive factor. |
gamma | - Per-channel multiplicative factor. |
name | - Optional name for the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfExpandDims().
|
pure virtual |
|
pure virtual |
Add a Comparison layer to the network.
name | - Optional name for the layer. |
desc | - Descriptor for the comparison operation. @ return - Interface for configuring the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfExpandDims().
|
pure virtual |
Adds a concatenation layer to the network.
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. |
Implemented in Network.
Referenced by armnnTfParser::CalculatePaddedOutputTensorInfo().
|
pure virtual |
Adds a layer with no inputs and a single output, which always corresponds to the passed in constant tensor.
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. |
Implemented in Network.
|
pure virtual |
Adds a 2D convolution layer to the network.
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. |
Implemented in Network.
Referenced by armnnTfParser::ConvertTfTensorDataType().
|
pure virtual |
Implemented in Network.
|
pure virtual |
Implemented in Network.
|
pure virtual |
|
pure virtual |
Adds a 2D depthwise convolution layer to the network.
convolution2dDescriptor | - Description of the 2D depthwise convolution layer. |
weights | - Tensor for the weights. Expected format: [channelMultiplier, inputChannels, height, width]. |
biases | Optional tensor for the bias data. If specified, must match the output tensor shape. |
name | - Optional name for the layer. |
Implemented in Network.
Referenced by armnnTfParser::ConvertTfTensorDataType().
|
pure virtual |
Implemented in Network.
|
pure virtual |
Implemented in Network.
|
pure virtual |
Adds a Dequantize layer to the network.
Implemented in Network.
|
pure virtual |
|
pure virtual |
Adds a division layer to the network.
name | - Optional name for the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
Add an ElementwiseUnary layer to the network.
name | - Optional name for the layer. |
desc | - Descriptor for the elementwiseUnary operation. @ return - Interface for configuring the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
|
pure virtual |
|
pure virtual |
Adds a fully connected layer to the network.
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. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
Implemented in Network.
|
pure virtual |
Implemented in Network.
|
pure virtual |
Add Gather layer to the network.
name | - Optional name for the layer. @ return - Interface for configuring the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfExpandDims().
|
pure virtual |
|
pure virtual |
Adds an input layer to the network.
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. |
Implemented in Network.
Referenced by BOOST_AUTO_TEST_CASE(), armnn::CreateStartOfLeakyReluNetwork(), and armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Add a Maximum layer to the network.
name | - Optional name for the layer. @ return - Interface for configuring the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
Add a Mean layer to the network.
meanDescriptor | - Parameters for the mean operation. |
name | - Optional name for the layer. @ return - Interface for configuring the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
|
pure virtual |
Adds a concat layer to the network.
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. |
Implemented in Network.
|
pure virtual |
Add a Minimum layer to the network.
name | - Optional name for the layer. @ return - Interface for configuring the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfExpandDims().
|
pure virtual |
Adds a multiplication layer to the network.
name | - Optional name for the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
Adds a normalization layer to the network.
normalizationDescriptor | - NormalizationDescriptor to configure the normalization. |
name | - Optional name for the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
Adds an output layer to the network.
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. |
Implemented in Network.
Referenced by BOOST_AUTO_TEST_CASE(), armnn::CompleteLeakyReluNetwork(), and armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
Adds a fully pad layer to the network.
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. |
Implemented in Network.
Referenced by armnnTfParser::CalculatePaddedOutputTensorInfo().
|
pure virtual |
Adds a permute layer to the network.
permuteDescriptor | - PermuteDescriptor to configure the permute. |
name | - Optional name for the layer. |
Implemented in Network.
|
pure virtual |
Adds a pooling layer to the network.
pooling2dDescriptor | - Pooling2dDescriptor to configure the pooling. |
name | - Optional name for the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Adds a reshape layer to the network.
reshapeDescriptor | - Parameters for the reshape operation. |
name | - Optional name for the layer. |
Implemented in Network.
Referenced by armnnTfParser::CalculatePaddedOutputTensorInfo(), armnnTfParser::OutputShapeOfExpandDims(), and armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
|
pure virtual |
Adds a resize layer to the network.
resizeDescriptor | - Parameters for the resize operation. |
name | - Optional name for the layer. |
Implemented in Network.
Referenced by armnnTfParser::CalculatePaddedOutputTensorInfo().
|
pure virtual |
|
pure virtual |
Adds a slice layer to the network.
sliceDescriptor | - SliceDescriptor to configure the slice operation. |
name | - Optional name for the layer. |
Implemented in Network.
|
pure virtual |
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
softmaxDescriptor | - SoftmaxDescriptor to configure the softmax. |
name | - Optional name for the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
|
pure virtual |
|
pure virtual |
Adds a splitter layer to the network.
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. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
Adds a stack layer to the network.
descriptor | - Description of the stack layer. |
name | - Optional name for the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfExpandDims().
|
pure virtual |
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.
Implemented in Network.
|
pure virtual |
Adds a strided slice layer to the network.
StridedSliceDescriptor | - Parameters for the strided slice operation. |
name | - Optional name for the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfSqueeze().
|
pure virtual |
Adds a subtraction layer to the network.
name | - Optional name for the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfExpandDims().
|
pure virtual |
|
pure virtual |
Adds a 2D transpose convolution layer to the network.
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. |
Implemented in Network.
|
pure virtual |
Adds a transpose layer to the network.
transposeDescriptor | - TransposeDescriptor to configure the transpose. |
name | - Optional name for the layer. |
Implemented in Network.
Referenced by armnnTfParser::OutputShapeOfExpandDims().
|
static |
Definition at line 49 of file Network.cpp.
References INetwork::CreateRaw(), and INetwork::Destroy().
Referenced by BOOST_AUTO_TEST_CASE(), armnn::BOOST_AUTO_TEST_CASE(), RecordByRecordCaffeParser::CreateNetworkFromBinaryFile(), CaffeParserBase::CreateNetworkFromNetParameter(), armnn::CreateNetworkWithActivationLayer(), armnn::CreateNetworkWithFullyConnectedLayer(), armnn::CreateNetworkWithInputOutputLayers(), armnn::CreateNetworkWithSoftmaxLayer(), GetSoftmaxProfilerJson(), armnn::PreserveTypeTestImpl(), armnn::TestQuantizeConvolution2d(), armnn::TestQuantizeDepthwiseConvolution2d(), armnn::TestQuantizeTransposeConvolution2d(), and VerifyPostOptimisationStructureTestImpl().
|
static |
Definition at line 44 of file Network.cpp.
Referenced by INetwork::Create().
|
static |
Definition at line 54 of file Network.cpp.
Referenced by INetwork::Create().
|
pure virtual |
Implemented in Network.