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());