From 0f901f419a15ad7dfaa03fb4b7fde343e3ad004c Mon Sep 17 00:00:00 2001 From: Artur Kulikowski Date: Wed, 14 Dec 2022 11:31:22 +0100 Subject: [PATCH] Create reshape with scalar when shape is empty --- .../op_conversions/convert_reduce_to_pooling.hpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/common/transformations/include/transformations/op_conversions/convert_reduce_to_pooling.hpp b/src/common/transformations/include/transformations/op_conversions/convert_reduce_to_pooling.hpp index be829b2bba3..594619e8a57 100644 --- a/src/common/transformations/include/transformations/op_conversions/convert_reduce_to_pooling.hpp +++ b/src/common/transformations/include/transformations/op_conversions/convert_reduce_to_pooling.hpp @@ -253,10 +253,17 @@ ov::matcher_pass_callback ConvertReduceBase::convert_reduce_to_pooling() { } if (shape_end != input.get_shape()) { - input = std::make_shared( - input, - ov::opset1::Constant::create(ov::element::i64, ov::Shape{shape_end.size()}, shape_end), - true); + if (shape_end == ov::Shape{}) { + input = std::make_shared( + input, + ov::opset1::Constant::create(ov::element::i64, ov::Shape{1}, {0}), + false); + } else { + input = std::make_shared( + input, + ov::opset1::Constant::create(ov::element::i64, ov::Shape{shape_end.size()}, shape_end), + true); + } new_ops.push_back(input.get_node_shared_ptr()); } input.get_node_shared_ptr()->set_friendly_name(reduce->get_friendly_name());