|
|
|
@@ -102,6 +102,10 @@ std::shared_ptr<T> ParserAttr(const std::string &str, const std::unordered_map<s |
|
|
|
count++; |
|
|
|
if (str[i + 1] == '[' || str[i + 1] == ']' || str[i + 1] == ',') { |
|
|
|
auto value_name = str.substr(i - count + 1, count); |
|
|
|
if (kv.find(value_name) == kv.end()) { |
|
|
|
MS_LOG(ERROR) << "Node's attributes and shape do not match."; |
|
|
|
return nullptr; |
|
|
|
} |
|
|
|
value.push(kv.at(value_name)); |
|
|
|
rules.push(value_name); |
|
|
|
count = 0; |
|
|
|
@@ -723,6 +727,10 @@ CNodePtr MSANFModelParser::BuildCNodeForFuncGraph(const FuncGraphPtr &outputFunc |
|
|
|
cnode_ptr->set_abstract(iter->second); |
|
|
|
} else { |
|
|
|
auto abstract = ParserAttrShape(shape_ref_attr_name, kv); |
|
|
|
if (abstract == nullptr) { |
|
|
|
MS_LOG(ERROR) << "Node's attribute is nullptr."; |
|
|
|
return nullptr; |
|
|
|
} |
|
|
|
cnode_ptr->set_abstract(abstract); |
|
|
|
} |
|
|
|
|
|
|
|
|