| @@ -38,7 +38,6 @@ | |||||
| #include "graph/ascend_string.h" | #include "graph/ascend_string.h" | ||||
| #include "graph/ge_error_codes.h" | #include "graph/ge_error_codes.h" | ||||
| #include "graph/graph.h" | #include "graph/graph.h" | ||||
| #include "graph/types.h" | |||||
| namespace ge { | namespace ge { | ||||
| PARSER_FUNC_VISIBILITY graphStatus aclgrphParseCaffe(const char *model_file, const char *weights_file, | PARSER_FUNC_VISIBILITY graphStatus aclgrphParseCaffe(const char *model_file, const char *weights_file, | ||||
| @@ -34,7 +34,6 @@ | |||||
| #include "graph/ascend_string.h" | #include "graph/ascend_string.h" | ||||
| #include "graph/ge_error_codes.h" | #include "graph/ge_error_codes.h" | ||||
| #include "graph/graph.h" | #include "graph/graph.h" | ||||
| #include "graph/types.h" | |||||
| namespace ge { | namespace ge { | ||||
| PARSER_FUNC_VISIBILITY graphStatus aclgrphParseONNX(const char *model_file, | PARSER_FUNC_VISIBILITY graphStatus aclgrphParseONNX(const char *model_file, | ||||
| @@ -39,7 +39,6 @@ | |||||
| #include "graph/ascend_string.h" | #include "graph/ascend_string.h" | ||||
| #include "graph/ge_error_codes.h" | #include "graph/ge_error_codes.h" | ||||
| #include "graph/graph.h" | #include "graph/graph.h" | ||||
| #include "graph/types.h" | |||||
| namespace ge { | namespace ge { | ||||
| PARSER_FUNC_VISIBILITY graphStatus aclgrphParseTensorFlow(const char *model_file, ge::Graph &graph); | PARSER_FUNC_VISIBILITY graphStatus aclgrphParseTensorFlow(const char *model_file, ge::Graph &graph); | ||||
| @@ -59,7 +59,7 @@ Status CaffeCustomParserAdapter::ParseParams(const Message *op_src, ge::OpDescPt | |||||
| return SUCCESS; | return SUCCESS; | ||||
| } | } | ||||
| Status CaffeCustomParserAdapter::ParseParams(const Operator &op_src, ge::OpDescPtr &op_dest) { | |||||
| Status CaffeCustomParserAdapter::ParseParams(const Operator &op_src, const ge::OpDescPtr &op_dest) { | |||||
| GELOGI("Caffe custom op begin to params: layer name = %s, layer type= %s ", op_src.GetName().c_str(), | GELOGI("Caffe custom op begin to params: layer name = %s, layer type= %s ", op_src.GetName().c_str(), | ||||
| op_src.GetOpType().c_str()); | op_src.GetOpType().c_str()); | ||||
| GE_CHECK_NOTNULL(op_dest); | GE_CHECK_NOTNULL(op_dest); | ||||
| @@ -42,7 +42,7 @@ class PARSER_FUNC_VISIBILITY CaffeCustomParserAdapter : public CaffeOpParser { | |||||
| * @return FAILED parse failed | * @return FAILED parse failed | ||||
| * @author | * @author | ||||
| */ | */ | ||||
| static Status ParseParams(const Operator &op_src, ge::OpDescPtr &op_dest); | |||||
| static Status ParseParams(const Operator &op_src, const ge::OpDescPtr &op_dest); | |||||
| /** | /** | ||||
| * @ingroup domi_omg | * @ingroup domi_omg | ||||
| @@ -956,7 +956,7 @@ Status OnnxModelParser::ModelParseToGraphImpl(bool is_subgraph, ge::onnx::GraphP | |||||
| return ret; | return ret; | ||||
| } | } | ||||
| // root graph needn't set outputs. | // root graph needn't set outputs. | ||||
| if(is_subgraph) { | |||||
| if (is_subgraph) { | |||||
| graph.SetOutputs(output_ops); | graph.SetOutputs(output_ops); | ||||
| } | } | ||||
| @@ -67,11 +67,11 @@ class PARSER_FUNC_VISIBILITY TensorFlowFusionOpParser : public TensorFlowOpParse | |||||
| * | * | ||||
| */ | */ | ||||
| // template <class T> | // template <class T> | ||||
| static Status ParseParamFromConst(const NodeDef *input_const, int32_t ¶m); | |||||
| static Status ParseParamFromConst(const NodeDef *node_def, int32_t ¶m); | |||||
| static Status ParseParamFromConst(const NodeDef *node_def, int32_t ¶m, int index); | static Status ParseParamFromConst(const NodeDef *node_def, int32_t ¶m, int index); | ||||
| static Status ParseParamFromConst(const NodeDef *input_const, float ¶m); | |||||
| static Status ParseParamFromConst(const NodeDef *node_def, float ¶m); | |||||
| static Status ParseParamFromConst(const NodeDef *node_def, float ¶m, int index); | static Status ParseParamFromConst(const NodeDef *node_def, float ¶m, int index); | ||||
| @@ -94,8 +94,7 @@ graphStatus aclgrphParseTensorFlow(const char *model_file, ge::Graph &graph) { | |||||
| // load custom plugin so and proto | // load custom plugin so and proto | ||||
| AclGrphParseUtil acl_graph_parse_util; | AclGrphParseUtil acl_graph_parse_util; | ||||
| domi::Status status = acl_graph_parse_util.AclParserInitialize(options); | |||||
| if (status != domi::SUCCESS) { | |||||
| if (acl_graph_parse_util.AclParserInitialize(options) != domi::SUCCESS) { | |||||
| GELOGE(GRAPH_FAILED, "Parser Initialize failed."); | GELOGE(GRAPH_FAILED, "Parser Initialize failed."); | ||||
| return GRAPH_FAILED; | return GRAPH_FAILED; | ||||
| } | } | ||||
| @@ -241,8 +240,7 @@ Status GenSubgraphParseTasks(const ge::ComputeGraphPtr &parent_graph, std::deque | |||||
| if (ret != SUCCESS) { | if (ret != SUCCESS) { | ||||
| REPORT_CALL_ERROR("E19999", "Set subgraph:%s to node:%s(%s) failed, index:%u", subgraph_iname.c_str(), | REPORT_CALL_ERROR("E19999", "Set subgraph:%s to node:%s(%s) failed, index:%u", subgraph_iname.c_str(), | ||||
| node->GetName().c_str(), node->GetType().c_str(), i); | node->GetName().c_str(), node->GetType().c_str(), i); | ||||
| GELOGE(ret, "Failed to set subgraph %s to node %s index %u", subgraph_iname.c_str(), node->GetName().c_str(), | |||||
| i); | |||||
| GELOGE(ret, "Set subgraph %s to node %s failed, index %u", subgraph_iname.c_str(), node->GetName().c_str(), i); | |||||
| return ret; | return ret; | ||||
| } | } | ||||
| @@ -356,7 +354,8 @@ Status MappingAndAddSubGraph(const NodePtr &node, const Graph &graph, const Comp | |||||
| * @param [out] op: result of PartitionedCall OpDesc. | * @param [out] op: result of PartitionedCall OpDesc. | ||||
| * @return 0: SUCCESS / Others: FAILED | * @return 0: SUCCESS / Others: FAILED | ||||
| */ | */ | ||||
| Status TensorFlowModelParser::DefunToPartitionedCall(const domi::tensorflow::NodeDef *node_def, ge::OpDescPtr &op) { | |||||
| Status TensorFlowModelParser::DefunToPartitionedCall(const domi::tensorflow::NodeDef *node_def, | |||||
| ge::OpDescPtr &op) const { | |||||
| const string op_name = node_def->name(); | const string op_name = node_def->name(); | ||||
| domi::tensorflow::AttrValue attr_call_inference; | domi::tensorflow::AttrValue attr_call_inference; | ||||
| if (!ge::TensorFlowUtil::FindAttrValue(node_def, "_disable_call_shape_inference", attr_call_inference)) { | if (!ge::TensorFlowUtil::FindAttrValue(node_def, "_disable_call_shape_inference", attr_call_inference)) { | ||||
| @@ -617,7 +616,7 @@ void TensorFlowModelParser::GetInputOutputTensorNum(const ge::OpDescPtr &op_desc | |||||
| output_tensor_num = max_anchor_index + 1; | output_tensor_num = max_anchor_index + 1; | ||||
| } | } | ||||
| Status TensorFlowModelParser::CheckoutInputNum(ge::OpDescPtr &op_desc, const domi::tensorflow::NodeDef *node) { | |||||
| Status TensorFlowModelParser::CheckoutInputNum(ge::OpDescPtr &op_desc, const domi::tensorflow::NodeDef *node) const { | |||||
| GE_CHECK_NOTNULL(node); | GE_CHECK_NOTNULL(node); | ||||
| GE_CHECK_NOTNULL(op_desc); | GE_CHECK_NOTNULL(op_desc); | ||||
| @@ -695,7 +694,8 @@ void TensorFlowModelParser::UpdateOutputTensor(ge::OpDescPtr &op_desc, const std | |||||
| } | } | ||||
| } | } | ||||
| Status TensorFlowModelParser::AddTensorDescToOpDesc(ge::OpDescPtr &op_desc, const domi::tensorflow::NodeDef *node) { | |||||
| Status TensorFlowModelParser::AddTensorDescToOpDesc(ge::OpDescPtr &op_desc, | |||||
| const domi::tensorflow::NodeDef *node) const { | |||||
| GE_CHECK_NOTNULL(node); | GE_CHECK_NOTNULL(node); | ||||
| GE_CHECK_NOTNULL(op_desc); | GE_CHECK_NOTNULL(op_desc); | ||||
| // get input and output attr from tensorflow | // get input and output attr from tensorflow | ||||
| @@ -2654,10 +2654,9 @@ Status TensorFlowModelParser::GraphDefOptimizeSnapShot(domi::tensorflow::GraphDe | |||||
| return SUCCESS; | return SUCCESS; | ||||
| } | } | ||||
| Status TensorFlowModelParser::SetDestNodeName(domi::tensorflow::NodeDef *const node_current, | |||||
| domi::tensorflow::NodeDef *const node_dest, | |||||
| const int32_t input_idx, const bool is_control, | |||||
| bool &clear_input_flag) { | |||||
| Status TensorFlowModelParser::SetDestNodeName(const domi::tensorflow::NodeDef *const node_current, | |||||
| domi::tensorflow::NodeDef *const node_dest, const int32_t input_idx, | |||||
| const bool is_control, bool &clear_input_flag) { | |||||
| GELOGI("current node name is %s ", node_current->name().c_str()); | GELOGI("current node name is %s ", node_current->name().c_str()); | ||||
| clear_input_flag = true; | clear_input_flag = true; | ||||
| if (is_control) { | if (is_control) { | ||||
| @@ -2703,7 +2702,7 @@ void TensorFlowModelParser::OptimizeDestroyTemporaryVariable(domi::tensorflow::G | |||||
| if (nodeDstInputNameTmp != nodeCurrent->name()) { | if (nodeDstInputNameTmp != nodeCurrent->name()) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| if (SetDestNodeName(nodeCurrent, nodeDst, k, isControl, clearInputFlag) !=SUCCESS) { | |||||
| if (SetDestNodeName(nodeCurrent, nodeDst, k, isControl, clearInputFlag) != SUCCESS) { | |||||
| GELOGE(FAILED, "CheckInputNodeName failed, node is: %s", nodeCurrent->name().c_str()); | GELOGE(FAILED, "CheckInputNodeName failed, node is: %s", nodeCurrent->name().c_str()); | ||||
| return; | return; | ||||
| } | } | ||||
| @@ -3599,7 +3598,7 @@ Status TensorFlowModelParser::RemoveIsolateNode(domi::tensorflow::GraphDef *grap | |||||
| } | } | ||||
| Status TensorFlowModelParser::RecordFusionResult(const std::shared_ptr<ge::ScopeGraph> &scope_graph, | Status TensorFlowModelParser::RecordFusionResult(const std::shared_ptr<ge::ScopeGraph> &scope_graph, | ||||
| const domi::tensorflow::NodeDef *node, ge::OpDescPtr &op_desc) { | |||||
| const domi::tensorflow::NodeDef *node, const ge::OpDescPtr &op_desc) { | |||||
| // The caller guarantees that the pointer is not null | // The caller guarantees that the pointer is not null | ||||
| GELOGI("RecordFusionResult for %s start.", op_desc->GetName().c_str()); | GELOGI("RecordFusionResult for %s start.", op_desc->GetName().c_str()); | ||||
| auto &impl_scope_graph = scope_graph->impl_; | auto &impl_scope_graph = scope_graph->impl_; | ||||
| @@ -3994,7 +3993,7 @@ void TensorFlowModelParser::DumpAllNodeContext(const string &phase) const { | |||||
| } | } | ||||
| } | } | ||||
| Status TensorFlowModelParser::CheckAndUpdateInputDesc(ge::ComputeGraphPtr &compute_graph) { | |||||
| Status TensorFlowModelParser::CheckAndUpdateInputDesc(const ge::ComputeGraphPtr &compute_graph) { | |||||
| GE_CHECK_NOTNULL(compute_graph); | GE_CHECK_NOTNULL(compute_graph); | ||||
| for (auto &node : compute_graph->GetDirectNode()) { | for (auto &node : compute_graph->GetDirectNode()) { | ||||
| auto op_desc = node->GetOpDesc(); | auto op_desc = node->GetOpDesc(); | ||||
| @@ -77,7 +77,7 @@ struct DelTransposeInfo; | |||||
| class PARSER_FUNC_VISIBILITY TensorFlowModelParser : public domi::ModelParser { | class PARSER_FUNC_VISIBILITY TensorFlowModelParser : public domi::ModelParser { | ||||
| public: | public: | ||||
| TensorFlowModelParser() {} | TensorFlowModelParser() {} | ||||
| ~TensorFlowModelParser() {} | |||||
| ~TensorFlowModelParser() override {} | |||||
| /** | /** | ||||
| * @ingroup domi_omg | * @ingroup domi_omg | ||||
| @@ -459,7 +459,7 @@ class PARSER_FUNC_VISIBILITY TensorFlowModelParser : public domi::ModelParser { | |||||
| Status OptimizeSnapShot(domi::tensorflow::NodeDef *curr_mode_def, map<string, NodeDef *> &nodedef_map, | Status OptimizeSnapShot(domi::tensorflow::NodeDef *curr_mode_def, map<string, NodeDef *> &nodedef_map, | ||||
| const std::pair<string, int> &input_data, const std::vector<string> &control_list); | const std::pair<string, int> &input_data, const std::vector<string> &control_list); | ||||
| static Status SetDestNodeName(domi::tensorflow::NodeDef *const node_current, | |||||
| static Status SetDestNodeName(const domi::tensorflow::NodeDef *const node_current, | |||||
| domi::tensorflow::NodeDef *const node_dest, const int32_t input_idx, | domi::tensorflow::NodeDef *const node_dest, const int32_t input_idx, | ||||
| const bool is_control, bool &clear_input_flag); | const bool is_control, bool &clear_input_flag); | ||||
| @@ -503,8 +503,8 @@ class PARSER_FUNC_VISIBILITY TensorFlowModelParser : public domi::ModelParser { | |||||
| domi::tensorflow::GraphDef *const output_graph_def); | domi::tensorflow::GraphDef *const output_graph_def); | ||||
| static string NodeNameFromInput(const string &input_name); | static string NodeNameFromInput(const string &input_name); | ||||
| Status AddTensorDescToOpDesc(ge::OpDescPtr &op_desc, const domi::tensorflow::NodeDef *node); | |||||
| Status CheckoutInputNum(ge::OpDescPtr &op_desc, const domi::tensorflow::NodeDef *node); | |||||
| Status AddTensorDescToOpDesc(ge::OpDescPtr &op_desc, const domi::tensorflow::NodeDef *node) const; | |||||
| Status CheckoutInputNum(ge::OpDescPtr &op_desc, const domi::tensorflow::NodeDef *node) const; | |||||
| static void UpdateInputTensor(ge::OpDescPtr &op_desc, const std::vector<ge::GeTensorDesc> &input_desc, | static void UpdateInputTensor(ge::OpDescPtr &op_desc, const std::vector<ge::GeTensorDesc> &input_desc, | ||||
| const size_t input_tensor_num); | const size_t input_tensor_num); | ||||
| static void UpdateOutputTensor(ge::OpDescPtr &op_desc, const std::vector<ge::GeTensorDesc> &output_desc, | static void UpdateOutputTensor(ge::OpDescPtr &op_desc, const std::vector<ge::GeTensorDesc> &output_desc, | ||||
| @@ -527,7 +527,7 @@ class PARSER_FUNC_VISIBILITY TensorFlowModelParser : public domi::ModelParser { | |||||
| * @param [out] op: result of PartitionedCall OpDesc. | * @param [out] op: result of PartitionedCall OpDesc. | ||||
| * @return 0: SUCCESS / Others: FAILED | * @return 0: SUCCESS / Others: FAILED | ||||
| */ | */ | ||||
| Status DefunToPartitionedCall(const domi::tensorflow::NodeDef *node_def, ge::OpDescPtr &op); | |||||
| Status DefunToPartitionedCall(const domi::tensorflow::NodeDef *node_def, ge::OpDescPtr &op) const; | |||||
| /** | /** | ||||
| * @ingroup domi_omg | * @ingroup domi_omg | ||||
| @@ -604,7 +604,7 @@ class PARSER_FUNC_VISIBILITY TensorFlowModelParser : public domi::ModelParser { | |||||
| Status RemoveIsolateNode(domi::tensorflow::GraphDef *graph_def); | Status RemoveIsolateNode(domi::tensorflow::GraphDef *graph_def); | ||||
| static Status RecordFusionResult(const std::shared_ptr<ge::ScopeGraph> &scope_graph, | static Status RecordFusionResult(const std::shared_ptr<ge::ScopeGraph> &scope_graph, | ||||
| const domi::tensorflow::NodeDef *node, | const domi::tensorflow::NodeDef *node, | ||||
| ge::OpDescPtr &op_desc); | |||||
| const ge::OpDescPtr &op_desc); | |||||
| static Status GetFunctionProto(const string &file, domi::tensorflow::GraphDefLibrary &graph_def_library); | static Status GetFunctionProto(const string &file, domi::tensorflow::GraphDefLibrary &graph_def_library); | ||||
| @@ -646,7 +646,7 @@ class PARSER_FUNC_VISIBILITY TensorFlowModelParser : public domi::ModelParser { | |||||
| static Status ParseOpParams(const domi::tensorflow::NodeDef *node_def, ge::OpDescPtr &op, | static Status ParseOpParams(const domi::tensorflow::NodeDef *node_def, ge::OpDescPtr &op, | ||||
| const shared_ptr<OpParser> &op_parser); | const shared_ptr<OpParser> &op_parser); | ||||
| static Status CheckAndUpdateInputDesc(ge::ComputeGraphPtr &compute_graph); | |||||
| static Status CheckAndUpdateInputDesc(const ge::ComputeGraphPtr &compute_graph); | |||||
| static Status UpdateOutputsInfo(const ParserUtils::OutputMapping &final_output_nodes); | static Status UpdateOutputsInfo(const ParserUtils::OutputMapping &final_output_nodes); | ||||
| static Status AddExternalGraph(const ComputeGraphPtr &root_graph); | static Status AddExternalGraph(const ComputeGraphPtr &root_graph); | ||||
| @@ -78,7 +78,7 @@ class PARSER_FUNC_VISIBILITY TensorflowParserBuilder : public TensorflowWeightPa | |||||
| } | } | ||||
| // register to OpParserFactory | // register to OpParserFactory | ||||
| OpParserRegisterar registerar __attribute__((unused)) = OpParserRegisterar( | OpParserRegisterar registerar __attribute__((unused)) = OpParserRegisterar( | ||||
| domi::TENSORFLOW, davinci_optype_, [=] { return std::shared_ptr<OpParser>(op_parser_adapter); }); | |||||
| domi::TENSORFLOW, davinci_optype_, [op_parser_adapter] { return std::shared_ptr<OpParser>(op_parser_adapter); }); | |||||
| return true; | return true; | ||||
| } | } | ||||
| @@ -121,7 +121,8 @@ const uint32_t TENSORFLOW_NORMAL_OUTPUT_TENSOR_FLAG = 2; | |||||
| using AttrValueMap = ::google::protobuf::Map<std::string, domi::tensorflow::AttrValue>; | using AttrValueMap = ::google::protobuf::Map<std::string, domi::tensorflow::AttrValue>; | ||||
| FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY bool TensorFlowUtil::FindAttrValue( | FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY bool TensorFlowUtil::FindAttrValue( | ||||
| const domi::tensorflow::NodeDef *node_def, const std::string &attr_name, domi::tensorflow::AttrValue &attr_value) { | |||||
| const domi::tensorflow::NodeDef *const node_def, const std::string &attr_name, | |||||
| domi::tensorflow::AttrValue &attr_value) { | |||||
| GE_CHECK_NOTNULL(node_def); | GE_CHECK_NOTNULL(node_def); | ||||
| const google::protobuf::Map<std::string, domi::tensorflow::AttrValue> &attr = node_def->attr(); | const google::protobuf::Map<std::string, domi::tensorflow::AttrValue> &attr = node_def->attr(); | ||||
| const google::protobuf::Map<std::string, domi::tensorflow::AttrValue>::const_iterator it = attr.find(attr_name); | const google::protobuf::Map<std::string, domi::tensorflow::AttrValue>::const_iterator it = attr.find(attr_name); | ||||
| @@ -250,12 +251,12 @@ FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY bool TensorFlowUtil::ParseFromA | |||||
| } | } | ||||
| FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY domi::Status TensorFlowUtil::TransTensorDescriptor( | FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY domi::Status TensorFlowUtil::TransTensorDescriptor( | ||||
| const domi::tensorflow::AttrValue &attr_value, ParserOperator *op, const uint32_t io, const std::string &type) { | |||||
| const domi::tensorflow::AttrValue &attr_value, ParserOperator *const op, | |||||
| const uint32_t io, const std::string &type) { | |||||
| GE_CHECK_NOTNULL(op); | GE_CHECK_NOTNULL(op); | ||||
| if (!attr_value.has_list()) { | if (!attr_value.has_list()) { | ||||
| return PARAM_INVALID; | return PARAM_INVALID; | ||||
| } | } | ||||
| std::vector<int32_t> tf_in_type; | std::vector<int32_t> tf_in_type; | ||||
| std::vector<int32_t> tf_out_type; | std::vector<int32_t> tf_out_type; | ||||
| // list contain many TensorDescriptors | // list contain many TensorDescriptors | ||||
| @@ -265,10 +266,8 @@ FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY domi::Status TensorFlowUtil::Tr | |||||
| int32_t tf_datatype = 0; | int32_t tf_datatype = 0; | ||||
| GE_CHK_BOOL_RET_STATUS(ParseFromAttrValueList(ge_desc, a_list, i, tf_datatype), PARAM_INVALID, | GE_CHK_BOOL_RET_STATUS(ParseFromAttrValueList(ge_desc, a_list, i, tf_datatype), PARAM_INVALID, | ||||
| "parse ge_desc failed."); | "parse ge_desc failed."); | ||||
| uint32_t size_type = 1; | uint32_t size_type = 1; | ||||
| int64_t tmp_dim = 0; | int64_t tmp_dim = 0; | ||||
| auto data_type = ge_desc.GetDataType(); | auto data_type = ge_desc.GetDataType(); | ||||
| GE_CHK_BOOL_RET_STATUS(ge::TypeUtils::GetDataTypeLength(data_type, size_type), PARAM_INVALID, | GE_CHK_BOOL_RET_STATUS(ge::TypeUtils::GetDataTypeLength(data_type, size_type), PARAM_INVALID, | ||||
| "dataType no define size , parse ge_desc failed."); | "dataType no define size , parse ge_desc failed."); | ||||
| @@ -285,7 +284,6 @@ FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY domi::Status TensorFlowUtil::Tr | |||||
| ge_desc.SetShape(ge::GeShape(data_dim)); break;); | ge_desc.SetShape(ge::GeShape(data_dim)); break;); | ||||
| } | } | ||||
| ge::TensorUtils::SetRealDimCnt(ge_desc, ge_desc.GetShape().GetDimNum()); | ge::TensorUtils::SetRealDimCnt(ge_desc, ge_desc.GetShape().GetDimNum()); | ||||
| GELOGD("IO:%d: after translate tf_desc, datatype: %s, format: %s, size_type: %u", io, | GELOGD("IO:%d: after translate tf_desc, datatype: %s, format: %s, size_type: %u", io, | ||||
| ge::TypeUtils::DataTypeToSerialString(ge_desc.GetDataType()).c_str(), | ge::TypeUtils::DataTypeToSerialString(ge_desc.GetDataType()).c_str(), | ||||
| ge::TypeUtils::FormatToSerialString(ge_desc.GetFormat()).c_str(), size_type); | ge::TypeUtils::FormatToSerialString(ge_desc.GetFormat()).c_str(), size_type); | ||||
| @@ -303,7 +301,7 @@ FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY domi::Status TensorFlowUtil::Tr | |||||
| return SUCCESS; | return SUCCESS; | ||||
| } | } | ||||
| FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY void TensorFlowUtil::AddNodeAttr( | FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY void TensorFlowUtil::AddNodeAttr( | ||||
| const std::string &attr_name, const domi::tensorflow::AttrValue &value, domi::tensorflow::NodeDef *node_def) { | |||||
| const std::string &attr_name, const domi::tensorflow::AttrValue &value, domi::tensorflow::NodeDef *const node_def) { | |||||
| GE_CHK_BOOL_TRUE_EXEC_INFO(node_def == nullptr, return, "input parameter is null."); | GE_CHK_BOOL_TRUE_EXEC_INFO(node_def == nullptr, return, "input parameter is null."); | ||||
| node_def->mutable_attr()->insert(AttrValueMap::value_type(attr_name, value)); | node_def->mutable_attr()->insert(AttrValueMap::value_type(attr_name, value)); | ||||
| } | } | ||||
| @@ -143,7 +143,7 @@ class TensorFlowUtil { | |||||
| * @return false attribute does not exist | * @return false attribute does not exist | ||||
| * | * | ||||
| */ | */ | ||||
| static bool FindAttrValue(const domi::tensorflow::NodeDef *node_def, const std::string &attr_name, | |||||
| static bool FindAttrValue(const domi::tensorflow::NodeDef *const node_def, const std::string &attr_name, | |||||
| domi::tensorflow::AttrValue &attr_value); | domi::tensorflow::AttrValue &attr_value); | ||||
| /** | /** | ||||
| @@ -181,7 +181,7 @@ class TensorFlowUtil { | |||||
| * | * | ||||
| */ | */ | ||||
| static domi::Status TransTensorDescriptor(const domi::tensorflow::AttrValue &attr_value, | static domi::Status TransTensorDescriptor(const domi::tensorflow::AttrValue &attr_value, | ||||
| ParserOperator *op, | |||||
| ParserOperator *const op, | |||||
| const uint32_t io, | const uint32_t io, | ||||
| const std::string &type = ""); | const std::string &type = ""); | ||||
| /* | /* | ||||
| @@ -194,7 +194,7 @@ class TensorFlowUtil { | |||||
| */ | */ | ||||
| static void AddNodeAttr(const std::string &attr_name, | static void AddNodeAttr(const std::string &attr_name, | ||||
| const domi::tensorflow::AttrValue &value, | const domi::tensorflow::AttrValue &value, | ||||
| domi::tensorflow::NodeDef *node_def); | |||||
| domi::tensorflow::NodeDef *const node_def); | |||||
| static domi::Status ClearUnusedParam(ge::ComputeGraphPtr &graph); | static domi::Status ClearUnusedParam(ge::ComputeGraphPtr &graph); | ||||