diff --git a/mindspore/ccsrc/frontend/optimizer/irpass/reduce_eliminate.h b/mindspore/ccsrc/frontend/optimizer/irpass/reduce_eliminate.h index 5543783f5f1b3ebfd6ecb03702b5c67dcb54bf2a..f8e22935e02447422e55d5e5068500e681125e30 100644 --- a/mindspore/ccsrc/frontend/optimizer/irpass/reduce_eliminate.h +++ b/mindspore/ccsrc/frontend/optimizer/irpass/reduce_eliminate.h @@ -72,6 +72,15 @@ class ReduceOneEliminater : public AnfVisitor { } auto new_shape = std::make_shared(elements); auto reshape_op = prim::GetPythonOps("reshape", "mindspore.ops.functional")->cast(); + auto node_abstract = node->abstract(); + // handle auto_parallel get nullptr abstract + if (node_abstract != nullptr) { + auto new_base_shape = std::make_shared(GetValue>(new_shape)); + node_abstract->set_shape(new_base_shape); + auto new_node = node->func_graph()->NewCNode({NewValueNode(reshape_op), x_, NewValueNode(new_shape)}); + new_node->set_abstract(node_abstract); + return new_node; + } return node->func_graph()->NewCNode({NewValueNode(reshape_op), x_, NewValueNode(new_shape)}); }