7 #include "ngraph/op/convolution.hpp"
8 #include "ngraph/op/op.hpp"
9 #include "ngraph/op/util/attr_types.hpp"
10 #include "ngraph/op/util/fused_op.hpp"
22 NGRAPH_RTTI_DECLARATION;
51 const PadType& auto_pad = PadType::EXPLICIT);
56 virtual std::shared_ptr<Node>
57 clone_with_new_inputs(
const OutputVector& new_args)
const override;
60 void set_strides(
const Strides& strides) { m_strides = strides; }
63 void set_dilations(
const Strides& dilations) { m_dilations = dilations; }
66 void set_pads_begin(
const CoordinateDiff& pads_begin) { m_pads_begin = pads_begin; }
69 void set_adding_above(
const CoordinateDiff& pads_end) { m_pads_end = pads_end; }
72 void set_auto_pad(
const PadType& auto_pad) { m_auto_pad = auto_pad; }
88 NGRAPH_RTTI_DECLARATION;
119 const PadType& auto_pad = PadType::EXPLICIT,
171 const PadType& auto_pad = PadType::EXPLICIT,
188 const std::vector<Dimension>& input_data_shape,
189 const std::vector<Dimension>& filters_shape,
195 std::vector<Dimension>& output_spatial_shape);
198 virtual bool is_dynamic()
const override;
201 virtual std::shared_ptr<Node>
202 clone_with_new_inputs(
const OutputVector& new_args)
const override;
206 void set_output_shape(
const Shape& output_shape);
209 void set_strides(
const Strides& strides) { m_strides = strides; }
212 void set_dilations(
const Strides& dilations) { m_dilations = dilations; }
215 void set_pads_begin(
const CoordinateDiff& pads_begin) { m_pads_begin = pads_begin; }
218 void set_pads_end(
const CoordinateDiff& pads_end) { m_pads_end = pads_end; }
221 void set_auto_pad(
const PadType& auto_pad) { m_auto_pad = auto_pad; }
226 m_output_padding = output_padding;
Visits the attributes of a node, primarily for serialization-like tasks.
Definition: attribute_visitor.hpp:59
A difference (signed) of tensor element coordinates.
Definition: coordinate_diff.hpp:18
A handle for one of a node's outputs.
Definition: node_output.hpp:33
Class representing a shape that may be partially or totally dynamic.
Definition: partial_shape.hpp:34
Shape for a tensor.
Definition: shape.hpp:19
Strides for a tensor.
Definition: strides.hpp:18
Root of all actual ops.
Definition: op.hpp:17
Data batch backprop for batched convolution operation.
Definition: group_conv.hpp:86
const PartialShape get_convolution_output_shape() const
const PadType & get_auto_pad() const
Definition: group_conv.hpp:220
const Strides & get_dilations() const
Definition: group_conv.hpp:211
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:208
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:217
GroupConvolutionBackpropData()
Constructs a batched-convolution data batch-backprop operation.
const CoordinateDiff & get_output_padding() const
Definition: group_conv.hpp:223
const CoordinateDiff & get_pads_begin() const
Definition: group_conv.hpp:214
Batched convolution operation, with optional window dilation and stride.
Definition: group_conv.hpp:20
const PadType & get_auto_pad() const
Definition: group_conv.hpp:71
const Strides & get_dilations() const
Definition: group_conv.hpp:62
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:65
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:59
const CoordinateDiff & get_pads_end() const
Definition: group_conv.hpp:68
PadType
Padding Type used for Convolution and Pooling
Definition: attr_types.hpp:61
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:16