10
10
#include < memory>
11
11
12
12
#include " openvino/core/validation_util.hpp"
13
- #include " openvino/op/add.hpp"
14
13
#include " openvino/op/broadcast.hpp"
15
14
#include " openvino/op/constant.hpp"
16
- #include " openvino/op/divide.hpp"
17
15
#include " openvino/op/gather.hpp"
18
- #include " openvino/op/multiply.hpp"
19
- #include " openvino/op/relu.hpp"
20
16
#include " openvino/op/reshape.hpp"
21
- #include " openvino/op/shape_of.hpp"
22
- #include " openvino/op/sigmoid.hpp"
23
- #include " openvino/op/subtract.hpp"
24
- #include " openvino/op/tanh.hpp"
25
- #include " openvino/op/util/shape_of_base.hpp"
17
+ #include " openvino/opsets/opset1.hpp"
18
+ #include " openvino/opsets/opset3.hpp"
26
19
27
20
namespace ov {
28
21
namespace op {
@@ -157,11 +150,11 @@ bool check_for_broadcast(const ov::PartialShape& ref_shape, const ov::PartialSha
157
150
158
151
std::shared_ptr<ov::Node> activation (const std::string& activation_name, const ov::Output<ov::Node>& apply_to) {
159
152
if (activation_name == " relu" ) {
160
- return std::make_shared<ov::op::v0 ::Relu>(apply_to);
153
+ return std::make_shared<opset4 ::Relu>(apply_to);
161
154
} else if (activation_name == " sigmoid" ) {
162
- return std::make_shared<ov::op::v0 ::Sigmoid>(apply_to);
155
+ return std::make_shared<opset4 ::Sigmoid>(apply_to);
163
156
} else if (activation_name == " tanh" ) {
164
- return std::make_shared<ov::op::v0 ::Tanh>(apply_to);
157
+ return std::make_shared<opset4 ::Tanh>(apply_to);
165
158
} else {
166
159
OPENVINO_THROW (" Unsupported activation function" );
167
160
}
@@ -278,40 +271,39 @@ bool shapes_equal_except_dynamic_expected_batch(const ov::PartialShape& expected
278
271
279
272
void visit_shape_path (Node* node, std::unordered_set<ov::Node*>& visited, std::function<void (ov::Node*)> func) {
280
273
auto is_shapeof = [](ov::Node* node) {
281
- return ov::is_type<ov::op::v0:: ShapeOf>(node) || ov::is_type<ov::op::v3 ::ShapeOf>(node);
274
+ return ov::is_type<opset1:: ShapeOf>(node) || ov::is_type<opset3 ::ShapeOf>(node);
282
275
};
283
276
visit_path_impl (node, visited, func, is_shapeof);
284
277
}
285
278
286
279
void visit_constant_path (ov::Node* node, std::unordered_set<ov::Node*>& visited, std::function<void (ov::Node*)> func) {
287
280
auto check_parameter = [](ov::Node* node) {
288
- OPENVINO_ASSERT (!ov::is_type<ov::op::v0::Parameter>(node),
289
- " visit_constant_path is called for non-constant path." );
281
+ OPENVINO_ASSERT (!ov::is_type<opset1::Parameter>(node), " visit_constant_path is called for non-constant path." );
290
282
return false ;
291
283
};
292
284
visit_path_impl (node, visited, func, check_parameter);
293
285
}
294
286
295
287
bool is_dequantization_subgraph (const Output<Node>& node) {
296
- if (!is_type<ov::op::v1 ::Multiply>(node.get_node ())) {
288
+ if (!is_type<opset8 ::Multiply>(node.get_node ())) {
297
289
return false ;
298
290
}
299
291
300
292
auto mul_inputs = node.get_node ()->input_values ();
301
293
Node* sub = nullptr ;
302
294
Node* convert = nullptr ;
303
295
304
- if (is_type<ov::op::v1 ::Subtract>(mul_inputs[0 ].get_node ())) {
296
+ if (is_type<opset8 ::Subtract>(mul_inputs[0 ].get_node ())) {
305
297
sub = mul_inputs[0 ].get_node ();
306
- } else if (is_type<ov::op::v0 ::Convert>(mul_inputs[0 ].get_node ())) {
298
+ } else if (is_type<opset8 ::Convert>(mul_inputs[0 ].get_node ())) {
307
299
convert = mul_inputs[0 ].get_node ();
308
300
} else {
309
301
return false ;
310
302
}
311
303
312
304
if (sub) {
313
305
auto sub_inputs = sub->input_values ();
314
- if (is_type<ov::op::v0 ::Convert>(sub_inputs[0 ].get_node ())) {
306
+ if (is_type<opset8 ::Convert>(sub_inputs[0 ].get_node ())) {
315
307
convert = sub_inputs[0 ].get_node ();
316
308
}
317
309
}
@@ -328,8 +320,8 @@ bool is_dequantization_subgraph(const Output<Node>& node) {
328
320
bool can_eliminate_eltwise_node (const std::shared_ptr<Node>& eltwise,
329
321
const Output<Node>& constant,
330
322
const Output<Node>& non_constant_input) {
331
- if (!is_type<ov::op::v1:: Add>(eltwise) && !is_type<ov::op::v1::Subtract >(eltwise) &&
332
- !is_type<ov::op::v1::Multiply>(eltwise) && !is_type<ov::op::v1 ::Divide>(eltwise)) {
323
+ if (!is_type<opset8:: Add>(eltwise) && !is_type<opset8::Subtract>(eltwise) && !is_type<opset8::Multiply >(eltwise) &&
324
+ !is_type<opset8 ::Divide>(eltwise)) {
333
325
return false ;
334
326
}
335
327
@@ -338,7 +330,7 @@ bool can_eliminate_eltwise_node(const std::shared_ptr<Node>& eltwise,
338
330
}
339
331
340
332
// check if constant has a single value with either 0 (for Add, Subtract) or 1 (for Multiply, Divide)
341
- auto constant_ptr = std::dynamic_pointer_cast<ov::op::v0 ::Constant>(constant.get_node_shared_ptr ());
333
+ auto constant_ptr = std::dynamic_pointer_cast<opset8 ::Constant>(constant.get_node_shared_ptr ());
342
334
if (!constant_ptr) {
343
335
return false ;
344
336
}
@@ -385,7 +377,7 @@ bool can_eliminate_eltwise_node(const std::shared_ptr<Node>& eltwise,
385
377
return false ;
386
378
}
387
379
float expected_const = 0 ;
388
- if (is_type<ov::op::v1:: Multiply>(eltwise) || is_type<ov::op::v1 ::Divide>(eltwise)) {
380
+ if (is_type<opset8:: Multiply>(eltwise) || is_type<opset8 ::Divide>(eltwise)) {
389
381
expected_const = 1 ;
390
382
}
391
383
if (actual_const != expected_const) {
0 commit comments