Browse Source

!573 Fix bug in `ParseAttribute`

Merge pull request !573 from seatea/fix-parse-attribute-bug
tags/v0.2.0-alpha
mindspore-ci-bot Gitee 5 years ago
parent
commit
496ffff3fd
1 changed files with 2 additions and 1 deletions
  1. +2
    -1
      mindspore/ccsrc/pipeline/parse/parse.cc

+ 2
- 1
mindspore/ccsrc/pipeline/parse/parse.cc View File

@@ -600,8 +600,9 @@ AnfNodePtr Parser::ParseAttribute(const FunctionBlockPtr &block, const py::objec
std::string var_name = "self.";
std::string attr_name = node.attr("attr").cast<std::string>();
(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);


Loading…
Cancel
Save