7 #include "ngraph/coordinate_diff.hpp"
8 #include "ngraph/op/op.hpp"
9 #include "ngraph/op/util/attr_types.hpp"
20 static constexpr
NodeTypeInfo type_info{
"BinaryConvolution", 1};
22 enum class BinaryConvolutionMode
48 BinaryConvolutionMode mode,
50 const PadType& auto_pad = PadType::EXPLICIT);
58 const std::string& mode,
60 const PadType& auto_pad = PadType::EXPLICIT);
68 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; }
86 const BinaryConvolutionMode&
get_mode()
const {
return m_mode; }
87 void set_mode(
const BinaryConvolutionMode& mode) { m_mode = mode; }
90 void set_pad_value(
float pad_value) { m_pad_value = pad_value; }
93 BinaryConvolutionMode mode_from_string(
const std::string& mode)
const;
98 BinaryConvolutionMode m_mode;
106 std::ostream& operator<<(std::ostream& s,
107 const op::v1::BinaryConvolution::BinaryConvolutionMode& type);
120 "AttributeAdapter<op::v1::BinaryConvolution::BinaryConvolutionMode>", 0};
121 const DiscreteTypeInfo& get_type_info()
const override {
return type_info; }
An AttributeAdapter "captures" an attribute as an AT& and makes it available as a ValueAccessor<VAT>.
Definition: attribute_adapter.hpp:161
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
Access an enum via a string.
Definition: attribute_adapter.hpp:168
A handle for one of a node's outputs.
Definition: node_output.hpp:33
Strides for a tensor.
Definition: strides.hpp:18
Root of all actual ops.
Definition: op.hpp:17
Definition: binary_convolution.hpp:18
const BinaryConvolutionMode & get_mode() const
Definition: binary_convolution.hpp:86
size_t get_version() const override
Definition: binary_convolution.hpp:62
const CoordinateDiff & get_pads_end() const
Definition: binary_convolution.hpp:80
const CoordinateDiff & get_pads_begin() const
Definition: binary_convolution.hpp:77
BinaryConvolution()=default
Constructs a binary convolution operation.
const Strides & get_strides() const
Definition: binary_convolution.hpp:71
const PadType & get_auto_pad() const
Definition: binary_convolution.hpp:83
const NodeTypeInfo & get_type_info() const override
Definition: binary_convolution.hpp:21
const Strides & get_dilations() const
Definition: binary_convolution.hpp:74
float get_pad_value() const
Definition: binary_convolution.hpp:89
BinaryConvolution(const Output< Node > &data, const Output< Node > &kernel, const Strides &strides, const CoordinateDiff &pads_begin, const CoordinateDiff &pads_end, const Strides &dilations, BinaryConvolutionMode mode, float pad_value, const PadType &auto_pad=PadType::EXPLICIT)
Constructs a binary convolution operation.
void validate_and_infer_types() override
Verifies that attributes and inputs are consistent and computes output shapes and element types....
PadType
Padding Type used for Convolution and Pooling
Definition: attr_types.hpp:61
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:16