From c8ca295c040ce7b89e533768cd0f471e0b6ea26e Mon Sep 17 00:00:00 2001 From: lvliang Date: Tue, 22 Sep 2020 12:22:46 +0800 Subject: [PATCH] fix-bug-pynative-gpu-memory-not-release --- .../frontend/optimizer/irpass/special_op_eliminate.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/mindspore/ccsrc/frontend/optimizer/irpass/special_op_eliminate.h b/mindspore/ccsrc/frontend/optimizer/irpass/special_op_eliminate.h index 13bde1e30a..bcc0ae4767 100644 --- a/mindspore/ccsrc/frontend/optimizer/irpass/special_op_eliminate.h +++ b/mindspore/ccsrc/frontend/optimizer/irpass/special_op_eliminate.h @@ -255,7 +255,7 @@ class PynativeEliminater : public OptimizerCaller { MS_LOG(DEBUG) << "Start FillZero"; ValuePtr out = nullptr; if (value->isa()) { - return value; + return MakeValue(value->cast()->value()); } if (value->isa()) { @@ -298,9 +298,10 @@ class PynativeEliminater : public OptimizerCaller { if (rep != nullptr) { if (rep->isa()) { auto value_node = rep->cast(); - value_node->set_value(FillZero(value_node->value())); + auto new_value_node = NewValueNode(FillZero(value_node->value())); + new_value_node->set_has_new_value(value_node->has_new_value()); MS_LOG(DEBUG) << "Zeros_like replace ok " << rep->DebugString(4); - return rep; + return new_value_node; } } } @@ -315,9 +316,10 @@ class PynativeEliminater : public OptimizerCaller { if (rep != nullptr) { if (rep->isa()) { auto value_node = rep->cast(); - value_node->set_value(FillZero(value_node->value())); + auto new_value_node = NewValueNode(FillZero(value_node->value())); + new_value_node->set_has_new_value(value_node->has_new_value()); MS_LOG(DEBUG) << "Zeros_like replace ok 2 " << rep->DebugString(4); - return rep; + return new_value_node; } } }