23.11
|
Fused Depthwise Convolution Batch Normalization node. More...
#include <FusedDepthwiseConvolutionBatchNormalizationNode.h>
Public Member Functions | |
FusedDepthwiseConvolutionBatchNormalizationNode (float epsilon, PadStrideInfo info, unsigned int depth_multiplier, DepthwiseConvolutionMethod method, ActivationLayerInfo fused_activation=ActivationLayerInfo()) | |
Constructor. More... | |
void | set_depthwise_convolution_method (DepthwiseConvolutionMethod method) |
Sets the depthwise convolution layer method to use. More... | |
DepthwiseConvolutionMethod | depthwise_convolution_method () const |
Depthwise convolution layer method accessor. More... | |
float | epsilon () const |
Epsilon parameter accessor. More... | |
ActivationLayerInfo | fused_activation () const |
Returns fused activation. More... | |
void | set_fused_activation (ActivationLayerInfo fused_activation) |
Sets fused activation. More... | |
void | set_convolution_method (ConvolutionMethod method) |
Sets the convolution layer method to use. More... | |
unsigned int | depth_multiplier () const |
Depth multiplier accessor. More... | |
PadStrideInfo | convolution_info () const |
Convolution metadata accessor. More... | |
NodeType | type () const override |
Returns node's type. More... | |
bool | forward_descriptors () override |
Forwards descriptor information to outputs if possible. More... | |
TensorDescriptor | configure_output (size_t idx) const override |
Calculates output configuration. More... | |
void | accept (INodeVisitor &v) override |
Accepts a node visitor. More... | |
![]() | |
INode () | |
Constructor. More... | |
virtual | ~INode ()=default |
Destructor. More... | |
INode (const INode &)=delete | |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
INode & | operator= (const INode &)=delete |
Prevent instances of this class from being copy assigned (As this class contains pointers) More... | |
INode (INode &&)=default | |
Allow instances of this class to be moved. More... | |
INode & | operator= (INode &&)=default |
Allow instances of this class to be move assigned. More... | |
virtual Status | validate () const |
Validate node. More... | |
std::string | name () const |
Returns node's name. More... | |
NodeID | id () const |
Returns node's ID. More... | |
const Graph * | graph () const |
Returns node's Graph. More... | |
Graph * | graph () |
Returns node's Graph. More... | |
void | set_graph (Graph *g) |
Sets the graph that this node is registered to. More... | |
void | set_id (NodeID id) |
Sets the node id. More... | |
void | set_common_node_parameters (NodeParams common_params) |
Sets common node parameters. More... | |
void | set_requested_target (Target target) |
Sets target preference. More... | |
void | set_assigned_target (Target target) |
Sets the final execution target. More... | |
void | set_output_tensor (TensorID tid, size_t idx) |
Sets the output tensor of at a given index. More... | |
const std::vector< TensorID > & | inputs () const |
Returns inputs of the node. More... | |
const std::vector< TensorID > & | outputs () const |
Returns outputs of the node. More... | |
const std::vector< EdgeID > & | input_edges () const |
Returns input edge set. More... | |
const std::set< EdgeID > & | output_edges () const |
Returns output edge set. More... | |
TensorID | input_id (size_t idx) const |
Returns the tensor ID of a given input of the node. More... | |
TensorID | output_id (size_t idx) const |
Returns the tensor ID of a given output of the node. More... | |
Tensor * | input (size_t idx) const |
Returns the tensor of a given input of the node. More... | |
Tensor * | output (size_t idx) const |
Returns the tensor of a given output of the node. More... | |
EdgeID | input_edge_id (size_t idx) const |
Returns the edge ID of a given input of the node. More... | |
Edge * | input_edge (size_t idx) const |
Returns the edge of a given input of the node. More... | |
size_t | num_inputs () const |
Returns number of inputs of the node. More... | |
size_t | num_outputs () const |
Returns number of outputs of the node. More... | |
NodeParams | common_node_params () const |
Returns common node parameters. More... | |
Target | requested_target () const |
Returns requested target for this node. More... | |
Target | assigned_target () const |
Returns assigned target for this node. More... | |
Static Public Member Functions | |
static TensorDescriptor | compute_output_descriptor (const TensorDescriptor &input_descriptor, const TensorDescriptor &weights_descriptor, const PadStrideInfo &info, int depth_multiplier) |
Computes convolution output descriptor. More... | |
Static Public Attributes | |
static constexpr NodeType | node_type = NodeType::FusedDepthwiseConvolutionBatchNormalizationLayer |
Fused Depthwise Convolution Batch Normalization node.
Definition at line 34 of file FusedDepthwiseConvolutionBatchNormalizationNode.h.
FusedDepthwiseConvolutionBatchNormalizationNode | ( | float | epsilon, |
PadStrideInfo | info, | ||
unsigned int | depth_multiplier, | ||
DepthwiseConvolutionMethod | method, | ||
ActivationLayerInfo | fused_activation = ActivationLayerInfo() |
||
) |
Constructor.
[in] | epsilon | Epsilon parameter. |
[in] | info | Convolution layer attributes. |
[in] | depth_multiplier | (Optional) Multiplier to apply to the input's depth in order to retrieve the output's depth. Defaults to 1. |
[in] | method | (Optional) Convolution method to use |
[in] | fused_activation | (Optional) Fused activation layer. Disabled if not specified |
Definition at line 35 of file FusedDepthwiseConvolutionBatchNormalizationNode.cpp.
|
overridevirtual |
Accepts a node visitor.
[in] | v | Visitor to accept |
Implements INode.
Definition at line 145 of file FusedDepthwiseConvolutionBatchNormalizationNode.cpp.
References INodeVisitor::visit().
|
static |
Computes convolution output descriptor.
[in] | input_descriptor | Input descriptor |
[in] | weights_descriptor | Weights descriptor |
[in] | info | Convolution operation attributes |
[in] | depth_multiplier | Depth multiplier |
Definition at line 88 of file FusedDepthwiseConvolutionBatchNormalizationNode.cpp.
References arm_compute::CHANNEL, FusedDepthwiseConvolutionBatchNormalizationNode::depth_multiplier(), arm_compute::graph::get_dimension_idx(), arm_compute::graph::get_dimension_size(), arm_compute::HEIGHT, arm_compute::test::validation::info, TensorDescriptor::layout, arm_compute::scaled_dimensions(), TensorShape::set(), TensorDescriptor::shape, and arm_compute::WIDTH.
Referenced by FusedDepthwiseConvolutionBatchNormalizationNode::configure_output().
|
overridevirtual |
Calculates output configuration.
[in] | idx | Output index to configure |
Implements INode.
Definition at line 127 of file FusedDepthwiseConvolutionBatchNormalizationNode.cpp.
References ARM_COMPUTE_ERROR_ON, ARM_COMPUTE_UNUSED, FusedDepthwiseConvolutionBatchNormalizationNode::compute_output_descriptor(), Tensor::desc(), INode::input(), arm_compute::test::validation::output_info, and arm_compute::test::validation::src.
Referenced by FusedDepthwiseConvolutionBatchNormalizationNode::forward_descriptors().
PadStrideInfo convolution_info | ( | ) | const |
Convolution metadata accessor.
Definition at line 67 of file FusedDepthwiseConvolutionBatchNormalizationNode.cpp.
Referenced by arm_compute::graph::backends::detail::create_fused_depthwise_convolution_batch_normalization_layer().
unsigned int depth_multiplier | ( | ) | const |
Depth multiplier accessor.
Definition at line 72 of file FusedDepthwiseConvolutionBatchNormalizationNode.cpp.
Referenced by FusedDepthwiseConvolutionBatchNormalizationNode::compute_output_descriptor(), and arm_compute::graph::backends::detail::create_fused_depthwise_convolution_batch_normalization_layer().
DepthwiseConvolutionMethod depthwise_convolution_method | ( | ) | const |
Depthwise convolution layer method accessor.
Definition at line 57 of file FusedDepthwiseConvolutionBatchNormalizationNode.cpp.
float epsilon | ( | ) | const |
Epsilon parameter accessor.
Definition at line 62 of file FusedDepthwiseConvolutionBatchNormalizationNode.cpp.
Referenced by arm_compute::graph::backends::detail::create_fused_depthwise_convolution_batch_normalization_layer().
|
overridevirtual |
Forwards descriptor information to outputs if possible.
Implements INode.
Definition at line 115 of file FusedDepthwiseConvolutionBatchNormalizationNode.cpp.
References ARM_COMPUTE_ERROR_ON, FusedDepthwiseConvolutionBatchNormalizationNode::configure_output(), arm_compute::test::validation::dst, INode::input_id(), arm_compute::graph::NullTensorID, INode::output(), and INode::output_id().
ActivationLayerInfo fused_activation | ( | ) | const |
Returns fused activation.
Definition at line 77 of file FusedDepthwiseConvolutionBatchNormalizationNode.cpp.
Referenced by arm_compute::graph::backends::detail::create_fused_depthwise_convolution_batch_normalization_layer(), and FusedDepthwiseConvolutionBatchNormalizationNode::set_fused_activation().
void set_convolution_method | ( | ConvolutionMethod | method | ) |
Sets the convolution layer method to use.
[in] | method | Method to use for convolution |
void set_depthwise_convolution_method | ( | DepthwiseConvolutionMethod | method | ) |
Sets the depthwise convolution layer method to use.
[in] | method | Method to use for depthwise convolution |
Definition at line 51 of file FusedDepthwiseConvolutionBatchNormalizationNode.cpp.
void set_fused_activation | ( | ActivationLayerInfo | fused_activation | ) |
Sets fused activation.
[in] | fused_activation | Fused activation to set |
Definition at line 82 of file FusedDepthwiseConvolutionBatchNormalizationNode.cpp.
References FusedDepthwiseConvolutionBatchNormalizationNode::fused_activation().
|
overridevirtual |
Returns node's type.
Implements INode.
Definition at line 140 of file FusedDepthwiseConvolutionBatchNormalizationNode.cpp.
References FusedDepthwiseConvolutionBatchNormalizationNode::node_type.
Referenced by arm_compute::graph::backends::detail::create_fused_depthwise_convolution_batch_normalization_layer().
|
staticconstexpr |
Definition at line 123 of file FusedDepthwiseConvolutionBatchNormalizationNode.h.
Referenced by FusedDepthwiseConvolutionBatchNormalizationNode::type().