From d5597e6d1fefaad52a804dc5af4a6cd9ebc5baae Mon Sep 17 00:00:00 2001 From: seatea Date: Wed, 22 Apr 2020 14:17:45 +0800 Subject: [PATCH] Fix bug for `ParseAttribute`. --- mindspore/ccsrc/pipeline/parse/parse.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mindspore/ccsrc/pipeline/parse/parse.cc b/mindspore/ccsrc/pipeline/parse/parse.cc index 51c4fc17ec..b2f74d44b8 100644 --- a/mindspore/ccsrc/pipeline/parse/parse.cc +++ b/mindspore/ccsrc/pipeline/parse/parse.cc @@ -594,8 +594,9 @@ AnfNodePtr Parser::ParseAttribute(const FunctionBlockPtr &block, const py::objec std::string var_name = "self."; std::string attr_name = node.attr("attr").cast(); (void)var_name.append(attr_name); + auto obj = ast()->obj().attr(attr_name.c_str()); if (py::hasattr(ast()->obj(), attr_name.c_str()) && - py::hasattr(ast()->obj().attr(attr_name.c_str()), PYTHON_PRIMITIVE_FLAG)) { + (data_converter::IsCellInstance(obj) || py::hasattr(obj, PYTHON_PRIMITIVE_FLAG))) { return block->MakeResolveSymbol(var_name); } else { return block->ReadVariable(var_name);