| @@ -443,6 +443,7 @@ std::string IrExportBuilder::BuildInputNode(const AnfNodePtr &node, mind_ir::Gra | |||||
| if (node->isa<ValueNode>()) { | if (node->isa<ValueNode>()) { | ||||
| // When node input is a ValueNode, need to create a Constant Node | // When node input is a ValueNode, need to create a Constant Node | ||||
| mind_ir::NodeProto *node_proto = graph_proto->add_node(); | mind_ir::NodeProto *node_proto = graph_proto->add_node(); | ||||
| node_proto->set_name(node_name); | |||||
| node_proto->add_output(node_name); | node_proto->add_output(node_name); | ||||
| SetAttributeProto(node, node_proto); | SetAttributeProto(node, node_proto); | ||||
| } | } | ||||
| @@ -637,6 +637,14 @@ bool MSANFModelParser::GetAttrValueForValueNode(const std::string &value_node_na | |||||
| anfnode_build_map_[value_node_name] = new_value_node; | anfnode_build_map_[value_node_name] = new_value_node; | ||||
| break; | break; | ||||
| } | } | ||||
| if ((value_pos = ref_attr_name.find("Tuple[]")) != std::string::npos) { | |||||
| MS_LOG(INFO) << "Build Tuple() ValueNode for primitive."; | |||||
| ValuePtr res = MakeValue(std::vector<ValuePtr>{}); | |||||
| new_value_node = NewValueNode(res); | |||||
| new_value_node->set_abstract(res->ToAbstract()); | |||||
| anfnode_build_map_[value_node_name] = new_value_node; | |||||
| break; | |||||
| } | |||||
| ObtainCNodeAttrInScalarForm(attr_proto, &multi_value_map); | ObtainCNodeAttrInScalarForm(attr_proto, &multi_value_map); | ||||
| break; | break; | ||||
| } | } | ||||