19 #include "ngraph/op/convolution.hpp"
20 #include "ngraph/op/op.hpp"
21 #include "ngraph/op/util/attr_types.hpp"
22 #include "ngraph/op/util/fused_op.hpp"
34 NGRAPH_RTTI_DECLARATION;
63 const PadType& auto_pad = PadType::EXPLICIT);
68 virtual std::shared_ptr<Node>
69 clone_with_new_inputs(
const OutputVector& new_args)
const override;
72 void set_strides(
const Strides& strides) { m_strides = strides; }
75 void set_dilations(
const Strides& dilations) { m_dilations = dilations; }
78 void set_pads_begin(
const CoordinateDiff& pads_begin) { m_pads_begin = pads_begin; }
81 void set_adding_above(
const CoordinateDiff& pads_end) { m_pads_end = pads_end; }
84 void set_auto_pad(
const PadType& auto_pad) { m_auto_pad = auto_pad; }
100 static constexpr
NodeTypeInfo type_info{
"GroupConvolutionBackpropData", 1};
131 const PadType& auto_pad = PadType::EXPLICIT,
183 const PadType& auto_pad = PadType::EXPLICIT,
200 const std::vector<Dimension>& input_data_shape,
201 const std::vector<Dimension>& filters_shape,
207 std::vector<Dimension>& output_spatial_shape);
210 virtual bool is_dynamic()
const override;
213 virtual std::shared_ptr<Node>
214 clone_with_new_inputs(
const OutputVector& new_args)
const override;
218 void set_output_shape(
const Shape& output_shape);
221 void set_strides(
const Strides& strides) { m_strides = strides; }
224 void set_dilations(
const Strides& dilations) { m_dilations = dilations; }
227 void set_pads_begin(
const CoordinateDiff& pads_begin) { m_pads_begin = pads_begin; }
230 void set_pads_end(
const CoordinateDiff& pads_end) { m_pads_end = pads_end; }
233 void set_auto_pad(
const PadType& auto_pad) { m_auto_pad = auto_pad; }
238 m_output_padding = output_padding;
Visits the attributes of a node, primarily for serialization-like tasks.
Definition: attribute_visitor.hpp:71
A difference (signed) of tensor element coordinates.
Definition: coordinate_diff.hpp:30
A handle for one of a node's outputs.
Definition: node_output.hpp:42
Class representing a shape that may be partially or totally dynamic.
Definition: partial_shape.hpp:46
Shape for a tensor.
Definition: shape.hpp:31
Strides for a tensor.
Definition: strides.hpp:30
Root of all actual ops.
Definition: op.hpp:29
Data batch backprop for batched convolution operation.
Definition: group_conv.hpp:98
const PartialShape get_convolution_output_shape() const
const NodeTypeInfo & get_type_info() const override
Definition: group_conv.hpp:101
const PadType & get_auto_pad() const
Definition: group_conv.hpp:232
const Strides & get_dilations() const
Definition: group_conv.hpp:223
void infer_conv_backprop_output_spatial_shape(const std::vector< Dimension > &input_data_shape, const std::vector< Dimension > &filters_shape, const Strides &strides, const Strides &dilations, const CoordinateDiff &pads_begin, const CoordinateDiff &pads_end, const CoordinateDiff &output_padding, std::vector< Dimension > &output_spatial_shape)
Calculates output spatial features size.
const Strides & get_strides() const
Definition: group_conv.hpp:220
void validate_and_infer_types() override
Verifies that attributes and inputs are consistent and computes output shapes and element types....
const CoordinateDiff & get_pads_end() const
Definition: group_conv.hpp:229
GroupConvolutionBackpropData()
Constructs a batched-convolution data batch-backprop operation.
const CoordinateDiff & get_output_padding() const
Definition: group_conv.hpp:235
const CoordinateDiff & get_pads_begin() const
Definition: group_conv.hpp:226
Batched convolution operation, with optional window dilation and stride.
Definition: group_conv.hpp:32
const PadType & get_auto_pad() const
Definition: group_conv.hpp:83
const Strides & get_dilations() const
Definition: group_conv.hpp:74
GroupConvolution(const Output< Node > &data_batch, const Output< Node > &filters, const Strides &strides, const CoordinateDiff &pads_begin, const CoordinateDiff &pads_end, const Strides &dilations, const PadType &auto_pad=PadType::EXPLICIT)
Constructs a batched convolution operation.
const CoordinateDiff & get_pads_begin() const
Definition: group_conv.hpp:77
GroupConvolution()=default
Constructs a batched convolution operation.
void validate_and_infer_types() override
Verifies that attributes and inputs are consistent and computes output shapes and element types....
virtual std::shared_ptr< Node > get_default_value() const override
const Strides & get_strides() const
Definition: group_conv.hpp:71
const CoordinateDiff & get_pads_end() const
Definition: group_conv.hpp:80
PadType
Padding Type used for Convolution and Pooling
Definition: attr_types.hpp:73
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:28