24.02
|
This layer represents a 2D transpose convolution operation. More...
#include <TransposeConvolution2dLayer.hpp>
Public Member Functions | |
virtual std::unique_ptr< IWorkload > | CreateWorkload (const IWorkloadFactory &factory) const override |
Makes a workload for the TransposeConvolution2d type. More... | |
TransposeConvolution2dLayer * | Clone (Graph &graph) const override |
Creates a dynamically-allocated copy of this layer. More... | |
void | ValidateTensorShapesFromInputs () override |
Check if the input tensor shape(s) will lead to a valid configuration of TransposeConvolution2dLayer. More... | |
std::vector< TensorShape > | InferOutputShapes (const std::vector< TensorShape > &inputShapes) const override |
Infers the output shapes from given input shapes and layer properties. More... | |
void | ExecuteStrategy (IStrategy &strategy) const override |
Apply a visitor to this layer. More... | |
Public Member Functions inherited from LayerWithParameters< TransposeConvolution2dDescriptor > | |
const TransposeConvolution2dDescriptor & | GetParameters () const override |
If the layer has a descriptor return it. More... | |
void | SerializeLayerParameters (ParameterStringifyFunction &fn) const override |
Helper to serialize the layer parameters to string (currently used in DotSerializer and company). More... | |
Public Member Functions inherited from Layer | |
Layer (unsigned int numInputSlots, unsigned int numOutputSlots, LayerType type, const char *name) | |
Layer (unsigned int numInputSlots, unsigned int numOutputSlots, LayerType type, DataLayout layout, const char *name) | |
const std::string & | GetNameStr () const |
const OutputHandler & | GetOutputHandler (unsigned int i=0) const |
OutputHandler & | GetOutputHandler (unsigned int i=0) |
ShapeInferenceMethod | GetShapeInferenceMethod () const |
bool | GetAllowExpandedDims () const |
const std::vector< InputSlot > & | GetInputSlots () const |
const std::vector< OutputSlot > & | GetOutputSlots () const |
std::vector< InputSlot >::iterator | BeginInputSlots () |
std::vector< InputSlot >::iterator | EndInputSlots () |
std::vector< OutputSlot >::iterator | BeginOutputSlots () |
std::vector< OutputSlot >::iterator | EndOutputSlots () |
bool | IsOutputUnconnected () |
void | ResetPriority () const |
LayerPriority | GetPriority () const |
LayerType | GetType () const override |
Returns the armnn::LayerType of this layer. More... | |
DataType | GetDataType () const |
const BackendId & | GetBackendId () const |
void | SetBackendId (const BackendId &id) override |
Set the backend of the IConnectableLayer. More... | |
virtual void | CreateTensorHandles (const TensorHandleFactoryRegistry ®istry, const IWorkloadFactory &factory, const bool IsMemoryManaged=true) |
void | VerifyLayerConnections (unsigned int expectedConnections, const CheckLocation &location) const |
virtual void | ReleaseConstantData () |
template<typename Op > | |
void | OperateOnConstantTensors (Op op) |
const char * | GetName () const override |
Returns the name of the layer. More... | |
unsigned int | GetNumInputSlots () const override |
Returns the number of connectable input slots. More... | |
unsigned int | GetNumOutputSlots () const override |
Returns the number of connectable output slots. More... | |
const InputSlot & | GetInputSlot (unsigned int index) const override |
Get a const input slot handle by slot index. More... | |
InputSlot & | GetInputSlot (unsigned int index) override |
Get the input slot handle by slot index. More... | |
const OutputSlot & | GetOutputSlot (unsigned int index=0) const override |
Get the const output slot handle by slot index. More... | |
OutputSlot & | GetOutputSlot (unsigned int index=0) override |
Get the output slot handle by slot index. More... | |
void | SetGuid (LayerGuid guid) |
LayerGuid | GetGuid () const final |
Returns the unique id of the layer. More... | |
void | AddRelatedLayerName (const std::string layerName) |
const std::list< std::string > & | GetRelatedLayerNames () |
virtual void | Reparent (Graph &dest, std::list< Layer * >::const_iterator iterator)=0 |
void | BackendSelectionHint (Optional< BackendId > backend) final |
Provide a hint for the optimizer as to which backend to prefer for this layer. More... | |
Optional< BackendId > | GetBackendHint () const |
void | SetShapeInferenceMethod (ShapeInferenceMethod shapeInferenceMethod) |
void | SetAllowExpandedDims (bool allowExpandedDims) |
template<typename T > | |
std::shared_ptr< T > | GetAdditionalInformation () const |
void | SetAdditionalInfoForObject (const AdditionalInfoObjectPtr &additionalInfo) |
virtual const BaseDescriptor & | GetParameters () const override |
If the layer has a descriptor return it. More... | |
Public Attributes | |
std::shared_ptr< ConstTensorHandle > | m_Weight |
A unique pointer to store weight values. More... | |
std::shared_ptr< ConstTensorHandle > | m_Bias |
A unique pointer to store bias values. More... | |
Protected Member Functions | |
TransposeConvolution2dLayer (const TransposeConvolution2dDescriptor ¶m, const char *name) | |
Constructor to create a TransposeConvolution2dLayer. More... | |
~TransposeConvolution2dLayer ()=default | |
Default destructor. More... | |
ImmutableConstantTensors | GetConstantTensorsByRef () const override |
Retrieve the handles to the constant values stored by the layer. More... | |
Protected Member Functions inherited from LayerWithParameters< TransposeConvolution2dDescriptor > | |
LayerWithParameters (unsigned int numInputSlots, unsigned int numOutputSlots, LayerType type, const TransposeConvolution2dDescriptor ¶m, const char *name) | |
~LayerWithParameters ()=default | |
WorkloadInfo | PrepInfoAndDesc (QueueDescriptor &descriptor) const |
Helper function to reduce duplication in *Layer::CreateWorkload. More... | |
void | ExecuteStrategy (IStrategy &strategy) const override |
Apply a visitor to this layer. More... | |
Layer::ImmutableConstantTensors | GetConnectedConstantAsInputTensors () const |
Protected Member Functions inherited from Layer | |
virtual | ~Layer ()=default |
template<typename QueueDescriptor > | |
void | CollectQueueDescriptorInputs (QueueDescriptor &descriptor, WorkloadInfo &info) const |
template<typename QueueDescriptor > | |
void | CollectQueueDescriptorOutputs (QueueDescriptor &descriptor, WorkloadInfo &info) const |
void | ValidateAndCopyShape (const TensorShape &outputShape, const TensorShape &inferredShape, const ShapeInferenceMethod shapeInferenceMethod, const std::string &layerName, const unsigned int outputSlotIndex=0) |
void | VerifyShapeInferenceType (const TensorShape &outputShape, ShapeInferenceMethod shapeInferenceMethod) |
template<typename QueueDescriptor > | |
WorkloadInfo | PrepInfoAndDesc (QueueDescriptor &descriptor) const |
Helper function to reduce duplication in *Layer::CreateWorkload. More... | |
template<typename LayerType , typename ... Params> | |
LayerType * | CloneBase (Graph &graph, Params &&... params) const |
virtual ConstantTensors | GetConstantTensorsByRef () override final |
void | SetAdditionalInfo (QueueDescriptor &descriptor) const |
Protected Member Functions inherited from IConnectableLayer | |
~IConnectableLayer () | |
Objects are not deletable via the handle. More... | |
Additional Inherited Members | |
Public Types inherited from LayerWithParameters< TransposeConvolution2dDescriptor > | |
using | DescriptorType = TransposeConvolution2dDescriptor |
Public Types inherited from IConnectableLayer | |
using | ConstantTensors = std::vector< std::reference_wrapper< std::shared_ptr< ConstTensorHandle > >> |
using | ImmutableConstantTensors = std::vector< std::reference_wrapper< const std::shared_ptr< ConstTensorHandle > >> |
Protected Attributes inherited from LayerWithParameters< TransposeConvolution2dDescriptor > | |
TransposeConvolution2dDescriptor | m_Param |
The parameters for the layer (not including tensor-valued weights etc.). More... | |
Protected Attributes inherited from Layer | |
AdditionalInfoObjectPtr | m_AdditionalInfoObject |
std::vector< OutputHandler > | m_OutputHandlers |
ShapeInferenceMethod | m_ShapeInferenceMethod |
This layer represents a 2D transpose convolution operation.
Definition at line 15 of file TransposeConvolution2dLayer.hpp.
|
protected |
Constructor to create a TransposeConvolution2dLayer.
[in] | param | TransposeConvolution2dDescriptor to configure the 2D transpose convolution operation. |
[in] | name | Optional name for the layer. |
Definition at line 19 of file TransposeConvolution2dLayer.cpp.
References armnn::TransposeConvolution2d.
|
protecteddefault |
Default destructor.
|
overridevirtual |
Creates a dynamically-allocated copy of this layer.
[in] | graph | The graph into which this layer is being cloned. |
Implements Layer.
Definition at line 43 of file TransposeConvolution2dLayer.cpp.
References Layer::GetName(), TransposeConvolution2dLayer::m_Bias, LayerWithParameters< TransposeConvolution2dDescriptor >::m_Param, and TransposeConvolution2dLayer::m_Weight.
|
overridevirtual |
Makes a workload for the TransposeConvolution2d type.
[in] | graph | The graph where this layer can be found. |
[in] | factory | The workload factory which will create the workload. |
Implements Layer.
Definition at line 25 of file TransposeConvolution2dLayer.cpp.
References ARMNN_ASSERT_MSG, IWorkloadFactory::CreateWorkload(), TransposeConvolution2dLayer::m_Bias, TransposeConvolution2dQueueDescriptor::m_Bias, TransposeConvolution2dDescriptor::m_BiasEnabled, LayerWithParameters< TransposeConvolution2dDescriptor >::m_Param, TransposeConvolution2dLayer::m_Weight, TransposeConvolution2dQueueDescriptor::m_Weight, LayerWithParameters< TransposeConvolution2dDescriptor >::PrepInfoAndDesc(), Layer::SetAdditionalInfo(), and armnn::TransposeConvolution2d.
|
overridevirtual |
Apply a visitor to this layer.
Reimplemented from Layer.
Definition at line 130 of file TransposeConvolution2dLayer.cpp.
References IStrategy::ExecuteStrategy(), Layer::GetName(), LayerWithParameters< TransposeConvolution2dDescriptor >::GetParameters(), ManagedConstTensorHandle::GetTensorInfo(), TransposeConvolution2dLayer::m_Bias, TransposeConvolution2dLayer::m_Weight, and ManagedConstTensorHandle::Map().
|
overrideprotectedvirtual |
Retrieve the handles to the constant values stored by the layer.
Reimplemented from Layer.
Definition at line 124 of file TransposeConvolution2dLayer.cpp.
References TransposeConvolution2dLayer::m_Bias, and TransposeConvolution2dLayer::m_Weight.
|
overridevirtual |
Infers the output shapes from given input shapes and layer properties.
[in] | inputShapes | The input shapes the layer has. |
Reimplemented from Layer.
Definition at line 57 of file TransposeConvolution2dLayer.cpp.
References ARMNN_ASSERT, ARMNN_ASSERT_MSG, DataLayoutIndexed::GetHeightIndex(), TensorShape::GetNumDimensions(), DataLayoutIndexed::GetWidthIndex(), TransposeConvolution2dDescriptor::m_DataLayout, TransposeConvolution2dDescriptor::m_PadBottom, TransposeConvolution2dDescriptor::m_PadLeft, TransposeConvolution2dDescriptor::m_PadRight, TransposeConvolution2dDescriptor::m_PadTop, LayerWithParameters< TransposeConvolution2dDescriptor >::m_Param, TransposeConvolution2dDescriptor::m_StrideX, TransposeConvolution2dDescriptor::m_StrideY, and armnn::NHWC.
Referenced by TransposeConvolution2dLayer::ValidateTensorShapesFromInputs().
|
overridevirtual |
Check if the input tensor shape(s) will lead to a valid configuration of TransposeConvolution2dLayer.
[in] | shapeInferenceMethod | Indicates if output shape shall be overwritten or just validated. |
Implements Layer.
Definition at line 90 of file TransposeConvolution2dLayer.cpp.
References ARMNN_ASSERT, ARMNN_ASSERT_MSG, CHECK_LOCATION, Layer::GetInputSlot(), Layer::GetOutputSlot(), TensorInfo::GetShape(), InputSlot::GetTensorInfo(), OutputSlot::GetTensorInfo(), TransposeConvolution2dLayer::InferOutputShapes(), TransposeConvolution2dDescriptor::m_OutputShape, TransposeConvolution2dDescriptor::m_OutputShapeEnabled, LayerWithParameters< TransposeConvolution2dDescriptor >::m_Param, Layer::m_ShapeInferenceMethod, TransposeConvolution2dLayer::m_Weight, Layer::ValidateAndCopyShape(), Layer::VerifyLayerConnections(), and Layer::VerifyShapeInferenceType().
std::shared_ptr<ConstTensorHandle> m_Bias |
A unique pointer to store bias values.
Definition at line 21 of file TransposeConvolution2dLayer.hpp.
Referenced by TransposeConvolution2dLayer::Clone(), TransposeConvolution2dLayer::CreateWorkload(), TransposeConvolution2dLayer::ExecuteStrategy(), and TransposeConvolution2dLayer::GetConstantTensorsByRef().
std::shared_ptr<ConstTensorHandle> m_Weight |
A unique pointer to store weight values.
Definition at line 19 of file TransposeConvolution2dLayer.hpp.
Referenced by NetworkImpl::AddTransposeConvolution2dLayer(), TransposeConvolution2dLayer::Clone(), TransposeConvolution2dLayer::CreateWorkload(), TransposeConvolution2dLayer::ExecuteStrategy(), TransposeConvolution2dLayer::GetConstantTensorsByRef(), and TransposeConvolution2dLayer::ValidateTensorShapesFromInputs().