ArmNN
NotReleased
|
#include <Layer.hpp>
Public Member Functions | |
OutputSlot (Layer &owner, OutputHandler &outputHandler) | |
OutputSlot (const OutputSlot &)=delete | |
OutputSlot & | operator= (const OutputSlot &)=delete |
OutputSlot & | operator= (OutputSlot &&)=delete |
OutputSlot (OutputSlot &&)=default | |
~OutputSlot () | |
Layer & | GetOwningLayer () const |
LayerGuid | GetOwningLayerGuid () const override |
const OutputHandler & | GetOutputHandler () const |
OutputHandler & | GetOutputHandler () |
int | Connect (InputSlot &destination) |
void | Disconnect (InputSlot &slot) |
const std::vector< InputSlot * > & | GetConnections () const |
const std::vector< EdgeStrategy > & | GetEdgeStrategies () const |
bool | ValidateTensorShape (const TensorShape &shape) const |
void | DisconnectAll () |
void | MoveAllConnections (OutputSlot &destination) |
Moves all connections to another OutputSlot. More... | |
unsigned int | GetNumConnections () const override |
const InputSlot * | GetConnection (unsigned int index) const override |
InputSlot * | GetConnection (unsigned int index) override |
void | SetTensorInfo (const TensorInfo &tensorInfo) override |
const TensorInfo & | GetTensorInfo () const override |
bool | IsTensorInfoSet () const override |
int | Connect (IInputSlot &destination) override |
void | Disconnect (IInputSlot &slot) override |
unsigned int | CalculateIndexOnOwner () const override |
bool | operator== (const OutputSlot &other) const |
void | SetTensorHandleFactory (const ITensorHandleFactory::FactoryId &id) |
ITensorHandleFactory::FactoryId | GetTensorHandleFactoryId () const |
void | SetEdgeStrategy (unsigned int connectionIndex, EdgeStrategy strategy) |
EdgeStrategy | GetEdgeStrategyForConnection (unsigned int connectionIdx) const |
Additional Inherited Members | |
Protected Member Functions inherited from IOutputSlot | |
~IOutputSlot () | |
Not user deletable. More... | |
|
inlineexplicit |
Definition at line 86 of file Layer.hpp.
|
delete |
|
default |
|
inline |
|
overridevirtual |
Implements IOutputSlot.
Definition at line 125 of file Layer.cpp.
References Layer::GetNumOutputSlots(), Layer::GetOutputSlot(), and InputSlot::GetOwningLayer().
Referenced by DebugLayer::CreateWorkload(), and QuantizerVisitor::QuantizerVisitor().
int Connect | ( | InputSlot & | destination | ) |
Definition at line 79 of file Layer.cpp.
References InputSlot::SetConnection(), and armnn::Undefined.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), CreateConvolution2dGraph(), CreateDepthwiseConvolution2dGraph(), CreateGatherGraph(), CreatePooling2dGraph(), CreateResizeBilinearGraph(), DynamicQuantizationVisitor::FinishVisit(), InputSlot::Insert(), Graph::InsertNewLayer(), and OutputSlot::MoveAllConnections().
|
inlineoverridevirtual |
void Disconnect | ( | InputSlot & | slot | ) |
Definition at line 87 of file Layer.cpp.
References InputSlot::SetConnection().
Referenced by DynamicQuantizationVisitor::FinishVisit().
|
inlineoverridevirtual |
Implements IOutputSlot.
Definition at line 151 of file Layer.hpp.
References armnnUtils::operator==().
void DisconnectAll | ( | ) |
Definition at line 103 of file Layer.cpp.
References InputSlot::GetConnection().
|
overridevirtual |
Implements IOutputSlot.
Definition at line 46 of file Layer.cpp.
Referenced by BOOST_AUTO_TEST_CASE(), and OutputSlot::operator==().
|
overridevirtual |
Implements IOutputSlot.
|
inline |
Definition at line 125 of file Layer.hpp.
Referenced by Graph::AddCompatibilityLayers(), armnn::CalculateSlotOption(), armnn::CalculateSlotOptionForInput(), SquashEqualSiblingsImpl< Comparable >::Run(), and armnn::SelectTensorHandleStrategy().
|
inline |
Definition at line 126 of file Layer.hpp.
Referenced by Graph::AddCompatibilityLayers().
EdgeStrategy GetEdgeStrategyForConnection | ( | unsigned int | connectionIdx | ) | const |
Definition at line 182 of file Layer.cpp.
Referenced by BOOST_AUTO_TEST_CASE().
|
inlineoverridevirtual |
Implements IOutputSlot.
Definition at line 138 of file Layer.hpp.
References InputSlot::GetConnection(), and armnn::GetTensorInfo().
Referenced by ConcatLayer::CreateWorkload(), OutputSlot::operator==(), OptimizeConsecutiveReshapesImpl::Run(), MovePermuteUpImpl::Run(), and SquashEqualSiblingsImpl< Comparable >::Run().
|
inline |
Definition at line 119 of file Layer.hpp.
Referenced by ConcatLayer::CreateWorkload().
|
inline |
|
inline |
Definition at line 115 of file Layer.hpp.
Referenced by armnn::CalculateSlotOption(), armnn::CalculateSlotOptionForInput(), DebugLayer::CreateWorkload(), ConcatLayer::CreateWorkload(), Layer::GetPriority(), Graph::InsertNewLayer(), QuantizerVisitor::QuantizerVisitor(), FoldPadIntoConvolution2dImpl::Run(), OptimizeConsecutiveReshapesImpl::Run(), PermuteAndBatchToSpaceAsDepthToSpaceImpl::Run(), OptimizeInverseConversionsImpl::Run(), OptimizeInversePermutesImpl::Run(), MovePermuteUpImpl::Run(), and Graph::SerializeToDot().
|
overridevirtual |
Implements IOutputSlot.
Definition at line 162 of file Layer.cpp.
References Layer::GetGuid(), and InputSlot::GetOwningLayer().
ITensorHandleFactory::FactoryId GetTensorHandleFactoryId | ( | ) | const |
Definition at line 172 of file Layer.cpp.
Referenced by Graph::AddCompatibilityLayers(), BOOST_AUTO_TEST_CASE(), ConcatLayer::CreateTensorHandles(), SplitterLayer::CreateTensorHandles(), Layer::CreateTensorHandles(), SplitterLayer::CreateWorkload(), and ConcatLayer::CreateWorkload().
|
overridevirtual |
Implements IOutputSlot.
Definition at line 63 of file Layer.cpp.
Referenced by BOOST_AUTO_TEST_CASE(), armnn::CheckScaleSetOnQuantizedType(), ConcatLayer::CreateWorkload(), Layer::GetDataType(), armnn::InsertConvertFp16ToFp32LayersBefore(), armnn::InsertConvertFp32ToFp16LayersAfter(), armnn::InsertDebugLayerAfter(), IWorkloadFactory::IsLayerSupported(), QuantizerVisitor::QuantizerVisitor(), PermuteAndBatchToSpaceAsDepthToSpaceImpl::Run(), Graph::SerializeToDot(), ElementwiseBaseLayer::ValidateTensorShapesFromInputs(), QuantizeLayer::ValidateTensorShapesFromInputs(), ActivationLayer::ValidateTensorShapesFromInputs(), DequantizeLayer::ValidateTensorShapesFromInputs(), MergeLayer::ValidateTensorShapesFromInputs(), SoftmaxLayer::ValidateTensorShapesFromInputs(), NormalizationLayer::ValidateTensorShapesFromInputs(), PermuteLayer::ValidateTensorShapesFromInputs(), Pooling2dLayer::ValidateTensorShapesFromInputs(), ReshapeLayer::ValidateTensorShapesFromInputs(), FakeQuantizationLayer::ValidateTensorShapesFromInputs(), ResizeLayer::ValidateTensorShapesFromInputs(), RsqrtLayer::ValidateTensorShapesFromInputs(), SliceLayer::ValidateTensorShapesFromInputs(), FloorLayer::ValidateTensorShapesFromInputs(), StackLayer::ValidateTensorShapesFromInputs(), ConvertFp32ToFp16Layer::ValidateTensorShapesFromInputs(), MemImportLayer::ValidateTensorShapesFromInputs(), SwitchLayer::ValidateTensorShapesFromInputs(), InstanceNormalizationLayer::ValidateTensorShapesFromInputs(), AbsLayer::ValidateTensorShapesFromInputs(), L2NormalizationLayer::ValidateTensorShapesFromInputs(), DebugLayer::ValidateTensorShapesFromInputs(), BatchToSpaceNdLayer::ValidateTensorShapesFromInputs(), MemCopyLayer::ValidateTensorShapesFromInputs(), ConvertFp16ToFp32Layer::ValidateTensorShapesFromInputs(), GatherLayer::ValidateTensorShapesFromInputs(), MeanLayer::ValidateTensorShapesFromInputs(), LogSoftmaxLayer::ValidateTensorShapesFromInputs(), ConstantLayer::ValidateTensorShapesFromInputs(), DetectionPostProcessLayer::ValidateTensorShapesFromInputs(), StridedSliceLayer::ValidateTensorShapesFromInputs(), ArgMinMaxLayer::ValidateTensorShapesFromInputs(), ElementwiseUnaryLayer::ValidateTensorShapesFromInputs(), DepthwiseConvolution2dLayer::ValidateTensorShapesFromInputs(), FullyConnectedLayer::ValidateTensorShapesFromInputs(), SpaceToBatchNdLayer::ValidateTensorShapesFromInputs(), PreluLayer::ValidateTensorShapesFromInputs(), ComparisonLayer::ValidateTensorShapesFromInputs(), SpaceToDepthLayer::ValidateTensorShapesFromInputs(), TransposeConvolution2dLayer::ValidateTensorShapesFromInputs(), DepthToSpaceLayer::ValidateTensorShapesFromInputs(), Convolution2dLayer::ValidateTensorShapesFromInputs(), SplitterLayer::ValidateTensorShapesFromInputs(), BatchNormalizationLayer::ValidateTensorShapesFromInputs(), QuantizedLstmLayer::ValidateTensorShapesFromInputs(), and LstmLayer::ValidateTensorShapesFromInputs().
|
overridevirtual |
Implements IOutputSlot.
Definition at line 68 of file Layer.cpp.
Referenced by InputLayer::ValidateTensorShapesFromInputs().
void MoveAllConnections | ( | OutputSlot & | destination | ) |
Moves all connections to another OutputSlot.
Definition at line 112 of file Layer.cpp.
References OutputSlot::Connect(), InputSlot::GetConnection(), and armnn::Undefined.
Referenced by Graph::InsertNewLayer(), PermuteAsReshapeImpl::Run(), OptimizeConsecutiveReshapesImpl::Run(), FoldPadIntoConvolution2dImpl::Run(), OptimizeInversePermutesImpl::Run(), OptimizeInverseConversionsImpl::Run(), and Graph::SubstituteSubgraph().
|
delete |
|
delete |
bool operator== | ( | const OutputSlot & | other | ) | const |
Definition at line 138 of file Layer.cpp.
References InputSlot::GetConnection(), OutputSlot::GetConnection(), and OutputSlot::GetNumConnections().
void SetEdgeStrategy | ( | unsigned int | connectionIndex, |
EdgeStrategy | strategy | ||
) |
Definition at line 177 of file Layer.cpp.
Referenced by Graph::AddCompatibilityLayers(), BOOST_FIXTURE_TEST_CASE(), InputSlot::Insert(), and armnn::SelectTensorHandleStrategy().
void SetTensorHandleFactory | ( | const ITensorHandleFactory::FactoryId & | id | ) |
Definition at line 167 of file Layer.cpp.
Referenced by Graph::AddCompatibilityLayers(), and armnn::SelectTensorHandleStrategy().
|
overridevirtual |
Implements IOutputSlot.
Definition at line 58 of file Layer.cpp.
Referenced by BOOST_AUTO_TEST_CASE(), armnn::CheckScaleSetOnQuantizedType(), CreateConvolution2dGraph(), CreateDepthwiseConvolution2dGraph(), CreateGatherGraph(), CreatePooling2dGraph(), CreateResizeBilinearGraph(), armnn::InsertConvertFp16ToFp32LayersBefore(), armnn::InsertConvertFp32ToFp16LayersAfter(), and armnn::InsertDebugLayerAfter().
bool ValidateTensorShape | ( | const TensorShape & | shape | ) | const |
Definition at line 73 of file Layer.cpp.