| @@ -129,7 +129,34 @@ map<string, Format> kFormatDict = { | |||||
| {"fractal_zn_lstm", FORMAT_FRACTAL_ZN_LSTM}, | {"fractal_zn_lstm", FORMAT_FRACTAL_ZN_LSTM}, | ||||
| {"fractal_z_g", FORMAT_FRACTAL_Z_G} | {"fractal_z_g", FORMAT_FRACTAL_Z_G} | ||||
| }; | }; | ||||
| std::string GenerateFileName(const SingleOpDesc &single_op_desc, int index) { | |||||
| std::stringstream file_name_ss; | |||||
| file_name_ss << index; | |||||
| file_name_ss << "_" << single_op_desc.op; | |||||
| for (auto &desc : single_op_desc.input_desc) { | |||||
| file_name_ss << "_" << desc.type << "_" << desc.format; | |||||
| for (auto dim : desc.dims) { | |||||
| file_name_ss << "_" << dim; | |||||
| } | |||||
| } | |||||
| for (auto &desc : single_op_desc.output_desc) { | |||||
| file_name_ss << "_" << desc.type << "_" << desc.format; | |||||
| for (auto dim : desc.dims) { | |||||
| file_name_ss << "_" << dim; | |||||
| } | |||||
| } | |||||
| std:string file_name = file_name_ss.str(); | |||||
| if (file_name.length() > kMaxFileNameLen) { | |||||
| GELOGI("Trim file name for it is too long, origin file name = %s", file_name.c_str()); | |||||
| file_name = file_name.substr(0, kMaxFileNameLen); | |||||
| } | |||||
| file_name += kFileSuffix; | |||||
| return file_name; | |||||
| } | } | ||||
| } // namespace | |||||
| template<typename T> | template<typename T> | ||||
| void SetAttrValue(const Json &j, SingleOpAttr &attr) { | void SetAttrValue(const Json &j, SingleOpAttr &attr) { | ||||
| @@ -349,14 +376,7 @@ Status SingleOpParser::ConvertToBuildParam(int index, | |||||
| auto op_desc = CreateOpDesc(single_op_desc.op); | auto op_desc = CreateOpDesc(single_op_desc.op); | ||||
| GE_CHECK_NOTNULL(op_desc); | GE_CHECK_NOTNULL(op_desc); | ||||
| std::stringstream file_name; | |||||
| file_name << index; | |||||
| file_name << "_" << single_op_desc.op; | |||||
| for (auto &desc : single_op_desc.input_desc) { | for (auto &desc : single_op_desc.input_desc) { | ||||
| file_name << "_" << desc.type << "_" << desc.format; | |||||
| for (auto dim : desc.dims) { | |||||
| file_name << "_" << dim; | |||||
| } | |||||
| GeTensorDesc ge_tensor_desc(GeShape(desc.dims), | GeTensorDesc ge_tensor_desc(GeShape(desc.dims), | ||||
| desc.format, | desc.format, | ||||
| desc.type); | desc.type); | ||||
| @@ -377,11 +397,6 @@ Status SingleOpParser::ConvertToBuildParam(int index, | |||||
| } | } | ||||
| for (auto &desc : single_op_desc.output_desc) { | for (auto &desc : single_op_desc.output_desc) { | ||||
| file_name << "_" << desc.type << "_" << desc.format; | |||||
| for (auto dim : desc.dims) { | |||||
| file_name << "_" << dim; | |||||
| } | |||||
| GeTensorDesc ge_tensor_desc(GeShape(desc.dims), | GeTensorDesc ge_tensor_desc(GeShape(desc.dims), | ||||
| desc.format, | desc.format, | ||||
| desc.type); | desc.type); | ||||
| @@ -410,8 +425,7 @@ Status SingleOpParser::ConvertToBuildParam(int index, | |||||
| return PARAM_INVALID; | return PARAM_INVALID; | ||||
| } | } | ||||
| file_name << kFileSuffix; | |||||
| build_param.file_name = file_name.str(); | |||||
| build_param.file_name = GenerateFileName(single_op_desc, index); | |||||
| build_param.op_desc.reset(op_desc.release()); | build_param.op_desc.reset(op_desc.release()); | ||||
| return SUCCESS; | return SUCCESS; | ||||
| } | } | ||||