46 const char* name =
nullptr);
51 const
char* name =
nullptr);
54 const
char* name =
nullptr);
61 const
char* name =
nullptr);
64 const
char* name =
nullptr);
67 const
char* name =
nullptr);
72 const
char* name =
nullptr);
75 const
char* name =
nullptr);
78 const
char* name =
nullptr);
81 const
char* name =
nullptr);
84 const
char* name =
nullptr);
89 const
char* name =
nullptr);
92 const
char* name =
nullptr);
98 const
char* name =
nullptr);
104 const
char* name =
nullptr);
107 const
char* name =
nullptr);
112 const
char* name =
nullptr);
117 const
char* name =
nullptr);
120 const
char* name =
nullptr);
123 const
char* name =
nullptr);
128 const
char* name =
nullptr);
131 const
char* name =
nullptr);
134 const
char* name =
nullptr);
137 const
char* name =
nullptr);
141 const
char* name =
nullptr);
155 const
char* name =
nullptr);
162 const
char* name =
nullptr);
165 const
char* name =
nullptr);
168 const
char* name =
nullptr);
173 const
char* name =
nullptr);
181 const
char* name =
nullptr);
184 const
char* name =
nullptr);
189 const
char* name =
nullptr);
192 const
char* name =
nullptr);
195 const
char* name =
nullptr);
200 const
char* name =
nullptr);
207 const
char* name =
nullptr);
210 const
char* name =
nullptr);
213 const
char* name =
nullptr);
216 const
char* name =
nullptr);
219 const
char* name =
nullptr);
222 const
char* name =
nullptr);
225 const
char* name =
nullptr);
233 const
char* name =
nullptr);
238 const
char* name =
nullptr);
241 const
char* name =
nullptr);
245 const
char* name =
nullptr);
255 bool GetShapeInferenceMethod();
256 bool GetAllowExpandedDims();
277 {
return !m_Warning && !m_Error; }
279 {
return m_Warning && !m_Error; }
285 using BackendsMap = std::map<BackendId, std::unique_ptr<class IBackendInternal>>;
295 Optional<std::vector<std::string>&> errMessages);
301 Optional<std::vector<std::string>&> errMessages);
308 Optional<std::vector<std::string>&> errMessages);
315 : m_ReduceFp32ToFp16(false)
317 , m_DebugToFile(false)
318 , m_ReduceFp32ToBf16(false)
320 , m_ImportEnabled(false)
322 , m_ProfilingEnabled(false)
323 , m_ExportEnabled(false)
324 , m_AllowExpandedDims(false)
330 bool exportEnabled =
false,
bool debugToFile =
false)
331 : m_ReduceFp32ToFp16(reduceFp32ToFp16)
333 , m_DebugToFile(debugToFile)
334 , m_ReduceFp32ToBf16(reduceFp32ToBf16)
336 , m_ImportEnabled(importEnabled)
337 , m_ModelOptions(modelOptions)
338 , m_ProfilingEnabled(
false)
339 , m_ExportEnabled(exportEnabled)
340 , m_AllowExpandedDims(
false)
346 bool importEnabled,
ModelOptions modelOptions,
bool exportEnabled,
347 bool debugToFile,
bool allowExpandedDims)
348 : m_ReduceFp32ToFp16(reduceFp32ToFp16)
350 , m_DebugToFile(debugToFile)
351 , m_ReduceFp32ToBf16(reduceFp32ToBf16)
352 , m_shapeInferenceMethod(shapeInferenceMethod)
353 , m_ImportEnabled(importEnabled)
354 , m_ModelOptions(modelOptions)
355 , m_ProfilingEnabled(false)
356 , m_ExportEnabled(exportEnabled)
357 , m_AllowExpandedDims(allowExpandedDims)
368 bool m_ReduceFp32ToFp16 =
false;
371 bool m_Debug =
false;
374 bool m_DebugToFile =
false;
378 bool m_ReduceFp32ToBf16 =
false;
384 bool m_ImportEnabled =
false;
390 bool m_ProfilingEnabled =
false;
393 bool m_ExportEnabled =
false;
396 bool m_AllowExpandedDims =
false;
#define ARMNN_DEPRECATED_MSG_REMOVAL_DATE(message, removed_in_release)
A tensor defined by a TensorInfo (shape and data type) and an immutable backing store.
LayerList::const_iterator Iterator
Interface for a layer that is connectable to other layers via InputSlots and OutputSlots.
Private implementation of INetwork.
IConnectableLayer * AddFusedLayer(const FusedDescriptor &fusedDescriptor, const char *name=nullptr)
IConnectableLayer * AddElementwiseUnaryLayer(const ElementwiseUnaryDescriptor &elementwiseUnaryDescriptor, const char *name=nullptr)
IConnectableLayer * AddLstmLayer(const LstmDescriptor &descriptor, const LstmInputParams ¶ms, const char *name=nullptr)
IConnectableLayer * AddDivisionLayer(const char *name=nullptr)
IConnectableLayer * AddQuantizeLayer(const char *name=nullptr)
IConnectableLayer * AddMergeLayer(const char *name=nullptr)
IConnectableLayer * AddPermuteLayer(const PermuteDescriptor &permuteDescriptor, const char *name=nullptr)
IConnectableLayer * AddSpaceToDepthLayer(const SpaceToDepthDescriptor &spaceToDepthDescriptor, const char *name=nullptr)
IConnectableLayer * AddConstantLayer(const ConstTensor &input, const char *name=nullptr)
NetworkImpl(const NetworkOptions &networkOptions={})
IConnectableLayer * AddLogicalBinaryLayer(const LogicalBinaryDescriptor &logicalBinaryDescriptor, const char *name=nullptr)
IConnectableLayer * AddConvertFp16ToFp32Layer(const char *name=nullptr)
IConnectableLayer * AddRankLayer(const char *name=nullptr)
IConnectableLayer * AddSwitchLayer(const char *name=nullptr)
IConnectableLayer * AddQLstmLayer(const QLstmDescriptor &descriptor, const LstmInputParams ¶ms, const char *name=nullptr)
IConnectableLayer * AddSoftmaxLayer(const SoftmaxDescriptor &softmaxDescriptor, const char *name=nullptr)
IConnectableLayer * AddDequantizeLayer(const char *name=nullptr)
IConnectableLayer * AddBroadcastToLayer(const BroadcastToDescriptor &descriptor, const char *name=nullptr)
IConnectableLayer * AddConvolution2dLayer(const Convolution2dDescriptor &convolution2dDescriptor, const char *name=nullptr)
IConnectableLayer * AddAdditionLayer(const char *name=nullptr)
IConnectableLayer * AddQuantizedLstmLayer(const QuantizedLstmInputParams ¶ms, const char *name=nullptr)
IConnectableLayer * AddTransposeConvolution2dLayer(const TransposeConvolution2dDescriptor &descriptor, const ConstTensor &weights, const Optional< ConstTensor > &biases, const char *name=nullptr)
IConnectableLayer * AddFloorLayer(const char *name=nullptr)
IConnectableLayer * AddConvolution3dLayer(const Convolution3dDescriptor &convolution3dDescriptor, const char *name=nullptr)
IConnectableLayer * AddStackLayer(const StackDescriptor &stackDescriptor, const char *name=nullptr)
IConnectableLayer * AddFullyConnectedLayer(const FullyConnectedDescriptor &fullyConnectedDescriptor, const char *name=nullptr)
IConnectableLayer * AddMinimumLayer(const char *name=nullptr)
IConnectableLayer * AddMaximumLayer(const char *name=nullptr)
IConnectableLayer * AddChannelShuffleLayer(const ChannelShuffleDescriptor &channelShuffleDescriptor, const char *name=nullptr)
IConnectableLayer * AddNormalizationLayer(const NormalizationDescriptor &normalizationDescriptor, const char *name=nullptr)
IConnectableLayer * AddPreluLayer(const char *name=nullptr)
IConnectableLayer * AddPadLayer(const PadDescriptor &padDescriptor, const char *name=nullptr)
IConnectableLayer * AddSplitterLayer(const ViewsDescriptor &splitterDescriptor, const char *name=nullptr)
void ExecuteStrategy(IStrategy &strategy) const
IConnectableLayer * AddSpaceToBatchNdLayer(const SpaceToBatchNdDescriptor &spaceToBatchNdDescriptor, const char *name=nullptr)
IConnectableLayer * AddCastLayer(const char *name=nullptr)
IConnectableLayer * AddStandInLayer(const StandInDescriptor &descriptor, const char *name=nullptr)
IConnectableLayer * AddScatterNdLayer(const ScatterNdDescriptor &scatterDescriptor, const char *name=nullptr)
IConnectableLayer * AddBatchMatMulLayer(const BatchMatMulDescriptor &desc, const char *name=nullptr)
IConnectableLayer * AddLogSoftmaxLayer(const LogSoftmaxDescriptor &logSoftmaxDescriptor, const char *name=nullptr)
IConnectableLayer * AddReshapeLayer(const ReshapeDescriptor &reshapeDescriptor, const char *name=nullptr)
IConnectableLayer * AddSliceLayer(const SliceDescriptor &sliceDescriptor, const char *name=nullptr)
IConnectableLayer * AddBatchNormalizationLayer(const BatchNormalizationDescriptor &desc, const ConstTensor &mean, const ConstTensor &variance, const ConstTensor &beta, const ConstTensor &gamma, const char *name=nullptr)
IConnectableLayer * AddBatchToSpaceNdLayer(const BatchToSpaceNdDescriptor &batchToSpaceNdDescriptor, const char *name=nullptr)
IConnectableLayer * AddActivationLayer(const ActivationDescriptor &activationDescriptor, const char *name=nullptr)
IConnectableLayer * AddInputLayer(LayerBindingId id, const char *name=nullptr)
IConnectableLayer * AddElementwiseBinaryLayer(const ElementwiseBinaryDescriptor &elementwiseBinaryDescriptor, const char *name=nullptr)
IConnectableLayer * AddTileLayer(const TileDescriptor &tileDescriptor, const char *name=nullptr)
IConnectableLayer * AddGatherLayer(const GatherDescriptor &gatherDescriptor, const char *name=nullptr)
IConnectableLayer * AddL2NormalizationLayer(const L2NormalizationDescriptor &desc, const char *name=nullptr)
IConnectableLayer * AddTransposeLayer(const TransposeDescriptor &transposeDescriptor, const char *name=nullptr)
IConnectableLayer * AddConvertFp32ToFp16Layer(const char *name=nullptr)
IConnectableLayer * AddUnidirectionalSequenceLstmLayer(const UnidirectionalSequenceLstmDescriptor &descriptor, const LstmInputParams ¶ms, const char *name=nullptr)
IConnectableLayer * AddMultiplicationLayer(const char *name=nullptr)
IConnectableLayer * AddInstanceNormalizationLayer(const InstanceNormalizationDescriptor &desc, const char *name=nullptr)
IConnectableLayer * AddDetectionPostProcessLayer(const DetectionPostProcessDescriptor &descriptor, const ConstTensor &anchors, const char *name=nullptr)
IConnectableLayer * AddStridedSliceLayer(const StridedSliceDescriptor &stridedSliceDescriptor, const char *name=nullptr)
IConnectableLayer * AddDepthwiseConvolution2dLayer(const DepthwiseConvolution2dDescriptor &convolution2dDescriptor, const char *name=nullptr)
IConnectableLayer * AddComparisonLayer(const ComparisonDescriptor &comparisonDescriptor, const char *name=nullptr)
IConnectableLayer * AddMeanLayer(const MeanDescriptor &meanDescriptor, const char *name=nullptr)
IConnectableLayer * AddResizeLayer(const ResizeDescriptor &resizeDescriptor, const char *name=nullptr)
IConnectableLayer * AddArgMinMaxLayer(const ArgMinMaxDescriptor &desc, const char *name=nullptr)
IConnectableLayer * AddReduceLayer(const ReduceDescriptor &reduceDescriptor, const char *name=nullptr)
IConnectableLayer * AddPooling2dLayer(const Pooling2dDescriptor &pooling2dDescriptor, const char *name=nullptr)
IConnectableLayer * AddConcatLayer(const ConcatDescriptor &concatDescriptor, const char *name=nullptr)
IConnectableLayer * AddPooling3dLayer(const Pooling3dDescriptor &pooling3dDescriptor, const char *name=nullptr)
IConnectableLayer * AddPrecompiledLayer(const PreCompiledDescriptor &preCompiledDescriptor, CompiledBlobPtr compiledBlobPtr, const Optional< BackendId > &backend, const char *name=nullptr)
IConnectableLayer * AddSubtractionLayer(const char *name=nullptr)
IConnectableLayer * AddDepthToSpaceLayer(const DepthToSpaceDescriptor &depthToSpaceDescriptor, const char *name=nullptr)
IConnectableLayer * AddOutputLayer(LayerBindingId id, const char *name=nullptr)
IConnectableLayer * AddReverseV2Layer(const char *name=nullptr)
IConnectableLayer * AddGatherNdLayer(const char *name=nullptr)
IConnectableLayer * AddShapeLayer(const char *name=nullptr)
IConnectableLayer * AddFillLayer(const FillDescriptor &fillDescriptor, const char *name=nullptr)
const Graph & GetGraph() const
IConnectableLayers::iterator IConnectableLayerIterator
Copyright (c) 2021 ARM Limited and Contributors.
std::unique_ptr< NetworkImpl, void(*)(NetworkImpl *network)> NetworkImplPtr
BackendsMap CreateSupportedBackends(TensorHandleFactoryRegistry &handleFactoryRegistry, BackendSettings &backendSettings)
std::vector< BackendOptions > NetworkOptions
std::vector< BackendOptions > ModelOptions
OptimizationResult AssignBackends(OptimizedNetworkImpl *optNetObjPtr, BackendSettings &backendSettings, Graph::Iterator &firstLayer, Graph::Iterator &lastLayer, Optional< std::vector< std::string > & > errMessages)
std::map< BackendId, std::unique_ptr< class IBackendInternal > > BackendsMap
int LayerBindingId
Type of identifiers for bindable layers (inputs, outputs).
OptimizationResult SelectTensorHandleStrategy(Graph &optGraph, BackendsMap &backends, TensorHandleFactoryRegistry ®istry, bool importEnabled, bool exportEnabled, Optional< std::vector< std::string > & > errMessages)
ShapeInferenceMethod
The ShapeInferenceMethod modify how the output shapes are treated.
@ ValidateOnly
Validate all output shapes.
std::unique_ptr< void, CompiledBlobDeleter > CompiledBlobPtr
An ActivationDescriptor for the ActivationLayer.
An ArgMinMaxDescriptor for ArgMinMaxLayer.
A BatchMatMulDescriptor for the BatchMatMul operator.
A BatchNormalizationDescriptor for the BatchNormalizationLayer.
A BatchToSpaceNdDescriptor for the BatchToSpaceNdLayer.
A ChannelShuffleDescriptor for the ChannelShuffle operator.
A ComparisonDescriptor for the ComparisonLayer.
A Convolution2dDescriptor for the Convolution2dLayer.
A Convolution3dDescriptor for the Convolution3dLayer.
A DepthwiseConvolution2dDescriptor for the DepthwiseConvolution2dLayer.
A ElementwiseBinaryDescriptor for the ElementwiseBinaryLayer.
A ElementwiseUnaryDescriptor for the ElementwiseUnaryLayer.
A FillDescriptor for the FillLayer.
A FullyConnectedDescriptor for the FullyConnectedLayer.
A FusedDescriptor for the FusedLayer.
A GatherDescriptor for the GatherLayer.
An InstanceNormalizationDescriptor for InstanceNormalizationLayer.
A L2NormalizationDescriptor for the L2NormalizationLayer.
A LogicalBinaryDescriptor for the LogicalBinaryLayer.
An LstmDescriptor for the LstmLayer.
A MeanDescriptor for the MeanLayer.
A NormalizationDescriptor for the NormalizationLayer.
bool IsWarningOnly() const
OptimizationResult(bool warning, bool error)
OptimizerOptionsOpaqueImpl()
~OptimizerOptionsOpaqueImpl()=default
ModelOptions m_ModelOptions
Enable Model Options.
OptimizerOptionsOpaqueImpl(bool reduceFp32ToFp16, bool debug, bool reduceFp32ToBf16, ShapeInferenceMethod shapeInferenceMethod, bool importEnabled, ModelOptions modelOptions, bool exportEnabled, bool debugToFile, bool allowExpandedDims)
OptimizerOptionsOpaqueImpl(bool reduceFp32ToFp16, bool debug, bool reduceFp32ToBf16, bool importEnabled, ModelOptions modelOptions={}, bool exportEnabled=false, bool debugToFile=false)
An OriginsDescriptor for the ConcatLayer.
A PadDescriptor for the PadLayer.
A PermuteDescriptor for the PermuteLayer.
A Pooling2dDescriptor for the Pooling2dLayer.
A Pooling3dDescriptor for the Pooling3dLayer.
A PreCompiledDescriptor for the PreCompiledLayer.
A QLstmDescriptor for the QLstmLayer.
A ReduceDescriptor for the REDUCE operators.
A ReshapeDescriptor for the ReshapeLayer.
A ResizeDescriptor for the ResizeLayer.
A ScatterNdDescriptor for the ScatterNdLayer.
A SliceDescriptor for the SliceLayer.
A SoftmaxDescriptor for the SoftmaxLayer.
A SpaceToBatchNdDescriptor for the SpaceToBatchNdLayer.
A SpaceToDepthDescriptor for the SpaceToDepthLayer.
A StackDescriptor for the StackLayer.
A StandInDescriptor for the StandIn layer.
A StridedSliceDescriptor for the StridedSliceLayer.
A TransposeConvolution2dDescriptor for the TransposeConvolution2dLayer.
A TransposeDescriptor for the TransposeLayer.
A ViewsDescriptor for the SplitterLayer.