diff --git a/mindspore/core/ir/manager.cc b/mindspore/core/ir/manager.cc index 5c996bcdab..89ca830092 100644 --- a/mindspore/core/ir/manager.cc +++ b/mindspore/core/ir/manager.cc @@ -387,12 +387,17 @@ FuncGraphSetPtr FuncGraphManager::MaybeDropNodes(const std::vector & continue; } AnfNodeIndexSet &users = node_users_[node]; - - std::vector parameters; - if (!users.empty() || - (node->isa() && parameters.end() != std::find(parameters.begin(), parameters.end(), node))) { + if (!users.empty()) { continue; } + + if (node->isa() && node->func_graph() != nullptr) { + auto ¶meters = node->func_graph()->parameters(); + if (std::find(parameters.begin(), parameters.end(), node) != parameters.end()) { + continue; + } + } + if (IsValueNode(node)) { auto fg = GetValueNode(node); func_graphs_to_check->add(fg);