19 #include "ngraph/coordinate_diff.hpp"
20 #include "ngraph/op/op.hpp"
21 #include "ngraph/op/util/attr_types.hpp"
32 static constexpr
NodeTypeInfo type_info{
"BinaryConvolution", 1};
34 enum class BinaryConvolutionMode
60 BinaryConvolutionMode mode,
62 const PadType& auto_pad = PadType::EXPLICIT);
70 const std::string& mode,
72 const PadType& auto_pad = PadType::EXPLICIT);
80 clone_with_new_inputs(
const OutputVector& new_args)
const override;
84 void set_strides(
const Strides& strides) { m_strides = strides; }
87 void set_dilations(
const Strides& dilations) { m_dilations = dilations; }
90 void set_pads_begin(
const CoordinateDiff& pads_begin) { m_pads_begin = pads_begin; }
93 void set_adding_above(
const CoordinateDiff& pads_end) { m_pads_end = pads_end; }
96 void set_auto_pad(
const PadType& auto_pad) { m_auto_pad = auto_pad; }
98 const BinaryConvolutionMode&
get_mode()
const {
return m_mode; }
99 void set_mode(
const BinaryConvolutionMode& mode) { m_mode = mode; }
102 void set_pad_value(
float pad_value) { m_pad_value = pad_value; }
104 BinaryConvolutionMode mode_from_string(
const std::string& mode)
const;
109 BinaryConvolutionMode m_mode;
117 std::ostream& operator<<(std::ostream& s,
118 const op::v1::BinaryConvolution::BinaryConvolutionMode& type);
131 "AttributeAdapter<op::v1::BinaryConvolution::BinaryConvolutionMode>", 0};
132 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:171
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
Access an enum via a string.
Definition: attribute_adapter.hpp:178
A handle for one of a node's outputs.
Definition: node_output.hpp:42
Strides for a tensor.
Definition: strides.hpp:30
Root of all actual ops.
Definition: op.hpp:29
Definition: binary_convolution.hpp:30
const BinaryConvolutionMode & get_mode() const
Definition: binary_convolution.hpp:98
size_t get_version() const override
Definition: binary_convolution.hpp:74
const CoordinateDiff & get_pads_end() const
Definition: binary_convolution.hpp:92
const CoordinateDiff & get_pads_begin() const
Definition: binary_convolution.hpp:89
BinaryConvolution()=default
Constructs a binary convolution operation.
const Strides & get_strides() const
Definition: binary_convolution.hpp:83
const PadType & get_auto_pad() const
Definition: binary_convolution.hpp:95
const NodeTypeInfo & get_type_info() const override
Definition: binary_convolution.hpp:33
const Strides & get_dilations() const
Definition: binary_convolution.hpp:86
float get_pad_value() const
Definition: binary_convolution.hpp:101
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:73
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:28