diff --git a/parser/common/acl_graph_parser_util.cc b/parser/common/acl_graph_parser_util.cc index 8a2f25c..0b683bd 100644 --- a/parser/common/acl_graph_parser_util.cc +++ b/parser/common/acl_graph_parser_util.cc @@ -419,7 +419,7 @@ domi::Status AclGrphParseUtil::ParseAclFormat(string &input_format) { bool AclGrphParseUtil::ParseInputShape(const string &input_shape, std::unordered_map> &shape_map, - vector>> &user_shape_map, bool is_dynamic_input) { + vector>> &user_shape_map) { vector shape_vec = StringUtils::Split(input_shape, ';'); const int DEFAULT_SHAPE_PAIR_SIZE = 2; for (const auto &shape : shape_vec) { @@ -483,15 +483,6 @@ bool AclGrphParseUtil::ParseInputShape(const string &input_shape, return false; } int64_t result = left_result; - // - 1 is not currently supported - if (!is_dynamic_input && result <= 0) { - ErrorManager::GetInstance().ATCReportErrMessage("E10011", {"shape", "result"}, {shape, std::to_string(result)}); - GELOGW( - "Input parameter[input_shape]’s shape value[%s] is invalid, " - "expect positive integer, but value is %ld.", - shape.c_str(), result); - return false; - } shape_values.push_back(result); } @@ -503,18 +494,16 @@ bool AclGrphParseUtil::ParseInputShape(const string &input_shape, } // Parse user input shape info -domi::Status AclGrphParseUtil::ParseAclShape(const string &input_shape, bool is_dynamic_input) { +domi::Status AclGrphParseUtil::ParseAclShape(const string &input_shape) { ge::GetParserContext().input_dims.clear(); ge::GetParserContext().user_input_dims.clear(); - ge::GetParserContext().is_dynamic_input = is_dynamic_input; if (input_shape.empty()) { return SUCCESS; } std::unordered_map> &shape_map = ge::GetParserContext().input_dims; - if (!ParseInputShape(input_shape, ge::GetParserContext().input_dims, ge::GetParserContext().user_input_dims, - is_dynamic_input) || + if (!ParseInputShape(input_shape, ge::GetParserContext().input_dims, ge::GetParserContext().user_input_dims) || shape_map.empty()) { GELOGE(PARAM_INVALID, "Failed to parse input shape: %s", input_shape.c_str()); return PARAM_INVALID; @@ -1004,28 +993,7 @@ domi::Status AclGrphParseUtil::CheckOptions(const std::mapGetDirectNode()) { - if (node->GetType() == ge::parser::DATA) { - auto data_op_desc = node->GetOpDesc(); - GE_CHECK_NOTNULL(data_op_desc); - auto tensor_desc = data_op_desc->MutableInputDesc(0); - GE_CHECK_NOTNULL(tensor_desc); - for (auto dim : tensor_desc->GetShape().GetDims()) { - if (dim < 0) { - GELOGE(PARAM_INVALID, - "Input op [%s] shape %ld is negative, maybe you should set input_shape to specify its shape", - node->GetName().c_str(), dim); - const string reason = "maybe you should set input_shape to specify its shape"; - ErrorManager::GetInstance().ATCReportErrMessage("E10001", {"parameter", "value", "reason"}, - {node->GetName(), to_string(dim), reason}); - return PARAM_INVALID; - } - } - } - } - } +domi::Status AclGrphParseUtil::CheckAclInputShapeNode(const ComputeGraphPtr &graph) { for (auto it : ge::GetParserContext().user_input_dims) { std::string node_name = it.first; ge::NodePtr node = graph->FindNode(node_name); @@ -1076,7 +1044,7 @@ domi::Status AclGrphParseUtil::ParseParamsBeforeGraph(const std::map> &shape_map, - vector>> &user_shape_map, bool is_dynamic_input); - domi::Status ParseAclShape(const std::string &input_shape, bool is_dynamic_input); + vector>> &user_shape_map); + domi::Status ParseAclShape(const std::string &input_shape); domi::Status ParseAclOutputNodes(const std::string &out_nodes); domi::Status ParseAclOutputFp16NodesFormat(const std::string &is_output_fp16); domi::Status ParseAclOpConf(const std::string &op_conf); @@ -72,7 +72,7 @@ class AclGrphParseUtil { std::map> &output_node_dt_map); domi::Status GetDefaultOutInfo(ge::ComputeGraphPtr &compute_graph, std::vector> &output_nodes_info); - domi::Status CheckAclInputShapeNode(const ComputeGraphPtr &graph, const bool is_dynamic_input); + domi::Status CheckAclInputShapeNode(const ComputeGraphPtr &graph); domi::Status CheckAclOpNameMap(const ComputeGraphPtr &graph, const std::string &op_conf); };