From 96e7ee58e1a2a0928915ed719f42462a0eb6daea Mon Sep 17 00:00:00 2001 From: Maxim Vafin Date: Tue, 18 Jan 2022 13:30:28 +0300 Subject: [PATCH] Optimize and simplify ConvertCompressedOnlyToLegacy transformation (#9702) --- .../convert_compression_only_to_legacy.hpp | 12 ---------- .../convert_compression_only_to_legacy.cpp | 23 +++++++------------ 2 files changed, 8 insertions(+), 27 deletions(-) diff --git a/src/common/transformations/include/transformations/common_optimizations/convert_compression_only_to_legacy.hpp b/src/common/transformations/include/transformations/common_optimizations/convert_compression_only_to_legacy.hpp index 43c7a42aaf6..afae2d629e0 100644 --- a/src/common/transformations/include/transformations/common_optimizations/convert_compression_only_to_legacy.hpp +++ b/src/common/transformations/include/transformations/common_optimizations/convert_compression_only_to_legacy.hpp @@ -11,24 +11,12 @@ namespace ov { namespace pass { -class TRANSFORMATIONS_API ConvertPrecisionCompressedOnly; class TRANSFORMATIONS_API EnableDecompressionConvertConstantFolding; class TRANSFORMATIONS_API ConvertCompressedOnlyToLegacy; } // namespace pass } // namespace ov -/** - * @ingroup ie_transformation_common_api - * @brief ConvertPrecisionCompressedOnly transformation runs ConvertPrecision transformation for CompressedOnly format. - */ - -class ov::pass::ConvertPrecisionCompressedOnly : public ov::pass::ModelPass { -public: - OPENVINO_RTTI("ConvertPrecisionCompressedOnly", "0"); - bool run_on_model(const std::shared_ptr& f) override; -}; - /** * @ingroup ie_transformation_common_api * @brief Enables ConstantFolding for Convert operation in compressed function. diff --git a/src/common/transformations/src/transformations/common_optimizations/convert_compression_only_to_legacy.cpp b/src/common/transformations/src/transformations/common_optimizations/convert_compression_only_to_legacy.cpp index 0efdf0e0127..a006ccf9d2b 100644 --- a/src/common/transformations/src/transformations/common_optimizations/convert_compression_only_to_legacy.cpp +++ b/src/common/transformations/src/transformations/common_optimizations/convert_compression_only_to_legacy.cpp @@ -12,15 +12,6 @@ using namespace ov; -bool ov::pass::ConvertPrecisionCompressedOnly::run_on_model(const std::shared_ptr& f) { - if (ngraph::op::util::has_decompression_converts(f)) { - const precisions_array convert_precision_list{{ov::element::f32, ov::element::f16}}; - auto convert_precision = ngraph::pass::ConvertPrecision(convert_precision_list); - return convert_precision.run_on_model(f); - } - return false; -} - ov::pass::EnableDecompressionConvertConstantFolding::EnableDecompressionConvertConstantFolding() { MATCHER_SCOPE(EnableDecompressionConvertConstantFolding); auto convert = pattern::wrap_type(); @@ -38,13 +29,15 @@ ov::pass::EnableDecompressionConvertConstantFolding::EnableDecompressionConvertC } bool ov::pass::ConvertCompressedOnlyToLegacy::run_on_model(const std::shared_ptr& f) { - Manager manager(get_pass_config()); + if (ngraph::op::util::has_decompression_converts(f)) { + Manager manager(get_pass_config()); - manager.register_pass(); - manager.register_pass(); - manager.register_pass(); - - manager.run_passes(f); + const precisions_array convert_precision_list{{ov::element::f32, ov::element::f16}}; + manager.register_pass(convert_precision_list); + manager.register_pass(); + manager.register_pass(); + manager.run_passes(f); + } return false; }