|
|
@@ -722,7 +722,6 @@ Status DavinciModel::Init(void *dev_ptr, size_t mem_size, void *weight_ptr, size |
|
|
|
/// the aicpu opertor needs to destroy history record, and update operator memory address. |
|
|
|
/// The model with specified aicpu operators is only marked here, and destruction is in ModelManager::ExecuteModel(). |
|
|
|
need_destroy_aicpu_kernel_ = IsAicpuKernelConnectSpecifiedLayer(); |
|
|
|
(void)ge::AttrUtils::GetListStr(ge_model_, ATTR_MODEL_OUT_NODES_NAME, out_node_name_); |
|
|
|
|
|
|
|
string fp_ceiling_mode; |
|
|
|
if (ge::AttrUtils::GetStr(ge_model_, ATTR_FP_CEILING_MODE, fp_ceiling_mode)) { |
|
|
@@ -2068,6 +2067,8 @@ void DavinciModel::CreateOutput(uint32_t index, const OpDescPtr &op_desc, InputO |
|
|
|
|
|
|
|
Status DavinciModel::InitOutputDescInfo(const vector<OpDescPtr> &output_op_list) { |
|
|
|
GELOGD("Output node size: %zu", output_op_list.size()); |
|
|
|
vector<string> out_node_name; |
|
|
|
(void)ge::AttrUtils::GetListStr(ge_model_, ATTR_MODEL_OUT_NODES_NAME, out_node_name); |
|
|
|
for (const auto &op_desc : output_op_list) { |
|
|
|
uint32_t out_size = static_cast<uint32_t>(op_desc->GetInputsSize()); |
|
|
|
for (uint32_t index = 0; index < out_size; index++) { |
|
|
@@ -2081,11 +2082,11 @@ Status DavinciModel::InitOutputDescInfo(const vector<OpDescPtr> &output_op_list) |
|
|
|
GE_CHK_BOOL_RET_STATUS(src_name.size() > index && src_index.size() > index, INTERNAL_ERROR, |
|
|
|
"construct output_name failed."); |
|
|
|
// forward compatbility, if old om has no out_node_name, need to return output follow origin way |
|
|
|
if (out_size == out_node_name_.size()) { |
|
|
|
if (out_size == out_node_name.size()) { |
|
|
|
// neweast plan, the index will add to name during generate model. |
|
|
|
bool contains_colon = out_node_name_[index].find(":") != std::string::npos; |
|
|
|
bool contains_colon = out_node_name[index].find(":") != std::string::npos; |
|
|
|
output_name = |
|
|
|
contains_colon ? out_node_name_[index] : out_node_name_[index] + ":" + std::to_string(src_index[index]); |
|
|
|
contains_colon ? out_node_name[index] : out_node_name[index] + ":" + std::to_string(src_index[index]); |
|
|
|
} else { |
|
|
|
output_name = std::string("output_") + std::to_string(index) + "_" + src_name[index] + "_" + |
|
|
|
std::to_string(src_index[index]); |
|
|
|