19 #include "ngraph/op/op.hpp"
32 enum class BoxEncodingType
38 static constexpr NodeTypeInfo type_info{
"NonMaxSuppression", 1};
39 const NodeTypeInfo&
get_type_info()
const override {
return type_info; }
52 const Output<Node>& scores,
53 const Output<Node>& max_output_boxes_per_class,
54 const Output<Node>& iou_threshold,
55 const Output<Node>& score_threshold,
56 const BoxEncodingType box_encoding = BoxEncodingType::CORNER,
57 const bool sort_result_descending =
true);
69 const Output<Node>& scores,
70 const BoxEncodingType box_encoding = BoxEncodingType::CORNER,
71 const bool sort_result_descending =
true);
77 clone_with_new_inputs(
const OutputVector& new_args)
const override;
79 BoxEncodingType get_box_encoding()
const {
return m_box_encoding; }
80 void set_box_encoding(
const BoxEncodingType box_encoding)
82 m_box_encoding = box_encoding;
84 bool get_sort_result_descending()
const {
return m_sort_result_descending; }
85 void set_sort_result_descending(
const bool sort_result_descending)
87 m_sort_result_descending = sort_result_descending;
91 BoxEncodingType m_box_encoding = BoxEncodingType::CORNER;
92 bool m_sort_result_descending =
true;
95 int64_t max_boxes_output_from_input()
const;
106 enum class BoxEncodingType
112 static constexpr NodeTypeInfo type_info{
"NonMaxSuppression", 3};
129 const Output<Node>& scores,
130 const Output<Node>& max_output_boxes_per_class,
131 const Output<Node>& iou_threshold,
132 const Output<Node>& score_threshold,
133 const BoxEncodingType box_encoding = BoxEncodingType::CORNER,
134 const bool sort_result_descending =
true,
147 const Output<Node>& scores,
148 const BoxEncodingType box_encoding = BoxEncodingType::CORNER,
149 const bool sort_result_descending =
true,
155 std::shared_ptr<Node>
156 clone_with_new_inputs(
const OutputVector& new_args)
const override;
158 BoxEncodingType get_box_encoding()
const {
return m_box_encoding; }
159 void set_box_encoding(
const BoxEncodingType box_encoding)
161 m_box_encoding = box_encoding;
163 bool get_sort_result_descending()
const {
return m_sort_result_descending; }
164 void set_sort_result_descending(
const bool sort_result_descending)
166 m_sort_result_descending = sort_result_descending;
169 element::Type get_output_type()
const {
return m_output_type; }
170 void set_output_type(
const element::Type& output_type)
172 m_output_type = output_type;
174 using Node::set_output_type;
177 BoxEncodingType m_box_encoding = BoxEncodingType::CORNER;
178 bool m_sort_result_descending =
true;
181 int64_t max_boxes_output_from_input()
const;
192 static constexpr NodeTypeInfo type_info{
"NonMaxSuppression", 4};
209 const Output<Node>& scores,
210 const Output<Node>& max_output_boxes_per_class,
211 const Output<Node>& iou_threshold,
212 const Output<Node>& score_threshold,
213 const BoxEncodingType box_encoding = BoxEncodingType::CORNER,
214 const bool sort_result_descending =
true,
227 const Output<Node>& scores,
228 const BoxEncodingType box_encoding = BoxEncodingType::CORNER,
229 const bool sort_result_descending =
true,
234 std::shared_ptr<Node>
235 clone_with_new_inputs(
const OutputVector& new_args)
const override;
241 std::ostream& operator<<(std::ostream& s,
242 const op::v1::NonMaxSuppression::BoxEncodingType& type);
245 class NGRAPH_API AttributeAdapter<op::v1::NonMaxSuppression::BoxEncodingType>
246 :
public EnumAttributeAdapterBase<op::v1::NonMaxSuppression::BoxEncodingType>
249 AttributeAdapter(op::v1::NonMaxSuppression::BoxEncodingType& value)
250 : EnumAttributeAdapterBase<op::v1::NonMaxSuppression::BoxEncodingType>(value)
255 "AttributeAdapter<op::v1::NonMaxSuppression::BoxEncodingType>", 1};
256 const DiscreteTypeInfo& get_type_info()
const override {
return type_info; }
260 std::ostream& operator<<(std::ostream& s,
261 const op::v3::NonMaxSuppression::BoxEncodingType& type);
264 class NGRAPH_API AttributeAdapter<op::v3::NonMaxSuppression::BoxEncodingType>
265 :
public EnumAttributeAdapterBase<op::v3::NonMaxSuppression::BoxEncodingType>
268 AttributeAdapter(op::v3::NonMaxSuppression::BoxEncodingType& value)
269 : EnumAttributeAdapterBase<op::v3::NonMaxSuppression::BoxEncodingType>(value)
274 "AttributeAdapter<op::v3::NonMaxSuppression::BoxEncodingType>", 1};
275 const DiscreteTypeInfo& get_type_info()
const override {
return type_info; }