From 59a46db2ca7dab3662f6431156d50089dfdda3c9 Mon Sep 17 00:00:00 2001 From: Margaret_wangrui Date: Wed, 28 Apr 2021 20:47:17 +0800 Subject: [PATCH] fix tuple to maketuple bug --- .../optimizer/pass/convert_tuple_output_to_maketuple.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mindspore/ccsrc/backend/optimizer/pass/convert_tuple_output_to_maketuple.cc b/mindspore/ccsrc/backend/optimizer/pass/convert_tuple_output_to_maketuple.cc index 53c34b7dc8..275a138407 100644 --- a/mindspore/ccsrc/backend/optimizer/pass/convert_tuple_output_to_maketuple.cc +++ b/mindspore/ccsrc/backend/optimizer/pass/convert_tuple_output_to_maketuple.cc @@ -34,6 +34,11 @@ AnfNodePtr ConvertTupleInputToMakeTuple(const FuncGraphPtr &graph, const AnfNode return tuple_anf; } auto kernel_graph = graph->cast(); + FuncGraphPtr anf_graph = tuple_anf->func_graph(); + if (anf_graph != nullptr) { + kernel_graph = anf_graph->cast(); + } + if (kernel_graph->FindTupleParameterToMakeTupleMap(tuple_anf)) { return kernel_graph->FindTupleParameterToMakeTupleMap(tuple_anf); } @@ -77,7 +82,8 @@ const AnfNodePtr ConvertTupleOutputToMaketuple::Process(const FuncGraphPtr &func cnode_input_changed = true; } } - auto kernel_graph = func_graph->cast(); + FuncGraphPtr graph = node->func_graph(); + auto kernel_graph = graph->cast(); if (kernel_graph == nullptr || !cnode_input_changed) { return nullptr; }