forked from mindspore-Ecosystem/mindspore
!43039 fix mindir fuzz test
Merge pull request !43039 from lianliguang/fix-mindir-core-dump
This commit is contained in:
commit
972fffc84b
|
@ -1431,7 +1431,9 @@ bool SetMindIRGraphAction(const ResourcePtr &resource) {
|
|||
(void)std::transform(inputs.begin(), inputs.end(), std::back_inserter(func_args),
|
||||
[](const AnfNodePtr &arg) -> AbstractBasePtr {
|
||||
MS_EXCEPTION_IF_NULL(arg);
|
||||
return arg->abstract()->Broaden();
|
||||
auto abs = arg->abstract();
|
||||
MS_EXCEPTION_IF_NULL(abs);
|
||||
return abs->Broaden();
|
||||
});
|
||||
|
||||
bool is_equal_input_args = true;
|
||||
|
|
|
@ -188,18 +188,27 @@ std::string ParseCNodeName(const string &name) {
|
|||
|
||||
#define PARSE_MINDIR_ATTR_IN_INT_FORM(type, valuetype) \
|
||||
ValuePtr ParseAttrInScalar_##type##_##valuetype(const mind_ir::AttributeProto &attr_proto, int index) { \
|
||||
if (attr_proto.ints_size() > index) { \
|
||||
auto value = static_cast<valuetype>(attr_proto.ints(index)); \
|
||||
return MakeValue<valuetype>(value); \
|
||||
} \
|
||||
MS_LOG(EXCEPTION) << "Parse MindIR attr failed."; \
|
||||
} \
|
||||
ValuePtr ParseAttrInSingleScalar_##type##_##valuetype(const mind_ir::AttributeProto &attr_proto) { \
|
||||
if (attr_proto.has_i()) { \
|
||||
auto value = static_cast<valuetype>(attr_proto.i()); \
|
||||
return MakeValue<valuetype>(value); \
|
||||
} \
|
||||
MS_LOG(EXCEPTION) << "Parse MindIR attr failed."; \
|
||||
}
|
||||
|
||||
#define PARSE_MINDIR_ATTR_IN_SCALAR_FORM(type, valuetype) \
|
||||
ValuePtr ParseAttrInScalar_##type##_##valuetype(const mind_ir::AttributeProto &attr_proto, int index) { \
|
||||
if (attr_proto.type##s_size() > index) { \
|
||||
auto value = static_cast<valuetype>(attr_proto.type##s(index)); \
|
||||
return MakeValue<valuetype>(value); \
|
||||
} \
|
||||
MS_LOG(EXCEPTION) << "Parse MindIR attr failed."; \
|
||||
}
|
||||
|
||||
PARSE_MINDIR_ATTR_IN_INT_FORM(int8_t, int8_t)
|
||||
|
@ -1318,6 +1327,10 @@ CNodePtr MSANFModelParser::BuildCNodeForFuncGraph(const FuncGraphPtr &outputFunc
|
|||
MS_LOG(ERROR) << "Get CNode op_type failed!";
|
||||
return nullptr;
|
||||
}
|
||||
if (node_proto.output_size() <= 0) {
|
||||
MS_LOG(ERROR) << "Get CNode out failed!";
|
||||
return nullptr;
|
||||
}
|
||||
const std::string &node_name = node_proto.output(0);
|
||||
MS_LOG(DEBUG) << "Process CNode: " << node_name;
|
||||
// Build inputs.
|
||||
|
@ -1385,7 +1398,8 @@ bool MSANFModelParser::BuildReturnForFuncGraph(const FuncGraphPtr &outputFuncGra
|
|||
return_node->set_load_flag(true);
|
||||
outputFuncGraph->set_return(return_node);
|
||||
MS_LOG(DEBUG) << "Construct funcgraph finined, all success.";
|
||||
} else {
|
||||
return true;
|
||||
} else if (importProto.output_size() == 1) {
|
||||
inputs.push_back(NewValueNode(prim::kPrimReturn));
|
||||
auto nodeName = importProto.output(0).name();
|
||||
auto anfNode = GetAnfNode(nodeName);
|
||||
|
@ -1400,9 +1414,10 @@ bool MSANFModelParser::BuildReturnForFuncGraph(const FuncGraphPtr &outputFuncGra
|
|||
return_node->set_load_flag(true);
|
||||
outputFuncGraph->set_return(return_node);
|
||||
MS_LOG(DEBUG) << "Construct funcgraph finined, all success!";
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool MSANFModelParser::ImportNodesForGraph(const FuncGraphPtr &outputFuncGraph,
|
||||
|
|
Loading…
Reference in New Issue