diff --git a/src/common/transformations/include/transformations/op_conversions/fake_convert_decomposition.hpp b/src/common/transformations/include/transformations/op_conversions/fake_convert_decomposition.hpp index 7d74fe96333bbf..e149152b2bcf6d 100644 --- a/src/common/transformations/include/transformations/op_conversions/fake_convert_decomposition.hpp +++ b/src/common/transformations/include/transformations/op_conversions/fake_convert_decomposition.hpp @@ -27,6 +27,6 @@ class TRANSFORMATIONS_API FakeConvertDecomposition; class ov::pass::FakeConvertDecomposition : public ov::pass::MatcherPass { public: - OPENVINO_RTTI("FakeConvertDecomposition", "0"); + OPENVINO_MATCHER_PASS_RTTI("FakeConvertDecomposition"); FakeConvertDecomposition(); }; diff --git a/src/common/transformations/src/transformations/op_conversions/fake_convert_decomposition.cpp b/src/common/transformations/src/transformations/op_conversions/fake_convert_decomposition.cpp index 3118897f8d3828..ae22970ef1546c 100644 --- a/src/common/transformations/src/transformations/op_conversions/fake_convert_decomposition.cpp +++ b/src/common/transformations/src/transformations/op_conversions/fake_convert_decomposition.cpp @@ -34,49 +34,37 @@ ov::pass::FakeConvertDecomposition::FakeConvertDecomposition() { const Output input_scale{fake_convert_node->input_value(1)}; auto input_type = data.get_element_type(); - ov::NodeVector decomp_ops; + ov::pass::NodeRegistry decomp_ops; if (input_type != input_scale.get_element_type()) { input_type = input_scale.get_element_type(); data = std::make_shared(data, input_type); - decomp_ops.push_back(data.get_node_shared_ptr()); + data = decomp_ops.add(data.get_node_shared_ptr()); } std::shared_ptr result; - const auto scale = std::make_shared(data, input_scale); - decomp_ops.push_back(scale); + const auto scale = decomp_ops.make(data, input_scale); if (fake_convert_node->get_input_size() == 2) { - const auto downconvert = - std::make_shared(scale, fake_convert_node->get_destination_element_type()); - decomp_ops.push_back(downconvert); - const auto upconvert = std::make_shared(downconvert, input_type); - decomp_ops.push_back(upconvert); + const auto downconvert = decomp_ops.make(scale, fake_convert_node->get_destination_element_type()); + const auto upconvert = decomp_ops.make(downconvert, input_type); - result = std::make_shared(upconvert, input_scale); - decomp_ops.push_back(result); + result = decomp_ops.make(upconvert, input_scale); } else { const Output input_shift{fake_convert_node->input_value(2)}; - const auto shift = std::make_shared(scale, input_shift); - decomp_ops.push_back(shift); + const auto shift = decomp_ops.make(scale, input_shift); - const auto downconvert = - std::make_shared(shift, fake_convert_node->get_destination_element_type()); - decomp_ops.push_back(downconvert); - const auto upconvert = std::make_shared(downconvert, input_type); - decomp_ops.push_back(upconvert); + const auto downconvert = decomp_ops.make(shift, fake_convert_node->get_destination_element_type()); + const auto upconvert = decomp_ops.make(downconvert, input_type); - const auto deshift = std::make_shared(upconvert, input_shift); - decomp_ops.push_back(deshift); - result = std::make_shared(deshift, input_scale); - decomp_ops.push_back(result); + const auto deshift = decomp_ops.make(upconvert, input_shift); + result = decomp_ops.make(deshift, input_scale); } if (result->get_output_element_type(0) != fake_convert_node->get_output_element_type(0)) { - result = std::make_shared(result, fake_convert_node->get_output_element_type(0)); - decomp_ops.push_back(result); + result = decomp_ops.make(result, fake_convert_node->get_output_element_type(0)); } result->set_friendly_name(m.get_match_root()->get_friendly_name()); - ov::copy_runtime_info(fake_convert_node, decomp_ops); + ov::copy_runtime_info(fake_convert_node, decomp_ops.get()); ov::replace_node(m.get_match_root(), result); return true; }; diff --git a/src/common/transformations/tests/op_conversions/fake_convert_decomposition_test.cpp b/src/common/transformations/tests/op_conversions/fake_convert_decomposition_test.cpp index 948df353a2a358..f026f6cf27520b 100644 --- a/src/common/transformations/tests/op_conversions/fake_convert_decomposition_test.cpp +++ b/src/common/transformations/tests/op_conversions/fake_convert_decomposition_test.cpp @@ -43,70 +43,67 @@ class FakeConvertDecompositionTest : public ov::test::TestsCommon, result << "defaultShift=false"; return result.str(); } +}; -protected: - void SetUp() override { - FakeConvertDecompositionParams params = this->GetParam(); +TEST_P(FakeConvertDecompositionTest, CompareFunctions) { + FakeConvertDecompositionParams params = this->GetParam(); - Shape data_shape, scale_shape, shift_shape; - element::Type_t data_prec, dst_prec; - bool default_shift; - std::tie(data_shape, scale_shape, shift_shape, data_prec, dst_prec, default_shift) = params; + Shape data_shape, scale_shape, shift_shape; + element::Type_t data_prec, dst_prec; + bool default_shift; + std::tie(data_shape, scale_shape, shift_shape, data_prec, dst_prec, default_shift) = params; - std::shared_ptr f(nullptr); - { - const auto data = std::make_shared(data_prec, PartialShape(data_shape)); - const auto scale = std::make_shared(data_prec, scale_shape); - const auto shift = std::make_shared(data_prec, shift_shape); + std::shared_ptr model(nullptr); + { + const auto data = std::make_shared(data_prec, PartialShape(data_shape)); + const auto scale = std::make_shared(data_prec, scale_shape); + const auto shift = std::make_shared(data_prec, shift_shape); - const auto fake_convert = default_shift - ? std::make_shared(data, scale, dst_prec) - : std::make_shared(data, scale, shift, dst_prec); - f = std::make_shared(NodeVector{fake_convert}, ParameterVector{data}); + const auto fake_convert = default_shift + ? std::make_shared(data, scale, dst_prec) + : std::make_shared(data, scale, shift, dst_prec); + model = std::make_shared(NodeVector{fake_convert}, ParameterVector{data}); - pass::Manager manager; - manager.register_pass(); - manager.register_pass(); - manager.run_passes(f); + pass::Manager manager; + manager.register_pass(); + manager.register_pass(); + manager.run_passes(model); - OV_ASSERT_NO_THROW(check_rt_info(f)); - } + OV_ASSERT_NO_THROW(check_rt_info(model)); + } - std::shared_ptr f_ref(nullptr); - { - const auto input_data = std::make_shared(data_prec, PartialShape(data_shape)); - const auto input_scale = std::make_shared(data_prec, scale_shape); - const auto input_shift = std::make_shared(data_prec, shift_shape); - ParameterVector params; - params.push_back(input_data); - std::shared_ptr data = input_data; - - std::shared_ptr result; - const auto scale = std::make_shared(data, input_scale); - if (default_shift) { - const auto downconvert = std::make_shared(scale, dst_prec); - const auto upconvert = std::make_shared(downconvert, data_prec); - - result = std::make_shared(upconvert, input_scale); - } else { - const auto shift = std::make_shared(scale, input_shift); - - const auto downconvert = std::make_shared(shift, dst_prec); - const auto upconvert = std::make_shared(downconvert, data_prec); - - const auto deshift = std::make_shared(upconvert, input_shift); - result = std::make_shared(deshift, input_scale); - } - - f_ref = std::make_shared(NodeVector{result}, params); + std::shared_ptr model_ref(nullptr); + { + const auto input_data = std::make_shared(data_prec, PartialShape(data_shape)); + const auto input_scale = std::make_shared(data_prec, scale_shape); + const auto input_shift = std::make_shared(data_prec, shift_shape); + ParameterVector params; + params.push_back(input_data); + std::shared_ptr data = input_data; + + std::shared_ptr result; + const auto scale = std::make_shared(data, input_scale); + if (default_shift) { + const auto downconvert = std::make_shared(scale, dst_prec); + const auto upconvert = std::make_shared(downconvert, data_prec); + + result = std::make_shared(upconvert, input_scale); + } else { + const auto shift = std::make_shared(scale, input_shift); + + const auto downconvert = std::make_shared(shift, dst_prec); + const auto upconvert = std::make_shared(downconvert, data_prec); + + const auto deshift = std::make_shared(upconvert, input_shift); + result = std::make_shared(deshift, input_scale); } - const auto res = compare_functions(f, f_ref); - ASSERT_TRUE(res.first) << res.second; + model_ref = std::make_shared(NodeVector{result}, params); } -}; -TEST_P(FakeConvertDecompositionTest, CompareFunctions) {} + const auto res = compare_functions(model, model_ref); + ASSERT_TRUE(res.first) << res.second; +} const std::vector data_precisions = {element::Type_t::f32, element::Type_t::f16,