Browse Source

fix

tags/v1.2.0
wjm 3 years ago
parent
commit
9b439be58a
5 changed files with 1 additions and 188 deletions
  1. +0
    -96
      ge/common/helper/model_helper.cc
  2. +1
    -1
      ge/graph/optimize/common/params.h
  3. +0
    -19
      ge/init/gelib.cc
  4. +0
    -39
      inc/framework/omg/ge_init.h
  5. +0
    -33
      inc/framework/omg/model_tool.h

+ 0
- 96
ge/common/helper/model_helper.cc View File

@@ -893,100 +893,4 @@ FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY Status ModelHelper::GetModelNam
GE_CHK_BOOL_EXEC_WARN(!model_name.empty(), return FAILED, "Get model_name failed, check params --output"); GE_CHK_BOOL_EXEC_WARN(!model_name.empty(), return FAILED, "Get model_name failed, check params --output");
return SUCCESS; return SUCCESS;
} }

FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY Status ModelTool::GetModelInfoFromOm(const char *model_file,
ge::proto::ModelDef &model_def) {
GE_CHECK_NOTNULL(model_file);
ge::ModelData model;
int32_t priority = 0;

// Load model from file
Status ret = ModelParserBase::LoadFromFile(model_file, "", priority, model);
if (ret != SUCCESS) {
GELOGE(ret, "LoadFromFile failed.");
return ret;
}
std::function<void()> callback = [&]() {
if (model.model_data != nullptr) {
delete[] reinterpret_cast<char *>(model.model_data);
model.model_data = nullptr;
}
};

uint8_t *model_data = nullptr;
uint32_t model_len = 0;
// Parse the contents of the file to get the modeldef object
ret = ModelParserBase::ParseModelContent(model, model_data, model_len);
if (ret != SUCCESS) {
ErrorManager::GetInstance().ATCReportErrMessage("E10003",
{"parameter", "value", "reason"},
{"om", model_file, "invalid om file"});
GELOGE(ACL_ERROR_GE_PARAM_INVALID,
"ParseModelContent failed because of invalid om file. Please check --om param.");
return ret;
}

OmFileLoadHelper omFileLoadHelper;
ret = omFileLoadHelper.Init(model_data, model_len);
if (ret != ge::GRAPH_SUCCESS) {
ErrorManager::GetInstance().ATCReportErrMessage("E19021", {"reason"}, {"Om file init failed"});
GELOGE(ge::FAILED, "Om file init failed.");
return ret;
}

ModelPartition ir_part;
ret = omFileLoadHelper.GetModelPartition(MODEL_DEF, ir_part);
if (ret != ge::GRAPH_SUCCESS) {
ErrorManager::GetInstance().ATCReportErrMessage("E19021", {"reason"}, {"Get model part failed"});
GELOGE(ge::FAILED, "Get model part failed.");
return ret;
}

bool flag = ReadProtoFromArray(ir_part.data, ir_part.size, &model_def);
if (flag) {
ret = INTERNAL_ERROR;
ErrorManager::GetInstance().ATCReportErrMessage("E19021", {"reason"}, {"ReadProtoFromArray failed"});
GELOGE(ret, "ReadProtoFromArray failed.");
return ret;
}
return ret;
}

FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY Status ModelTool::GetModelInfoFromPbtxt(const char *model_file,
ge::proto::ModelDef &model_def) {
GE_CHECK_NOTNULL(model_file);
ge::ModelData model;
int32_t priority = 0;
// Load model from file
Status ret = ModelParserBase::LoadFromFile(model_file, "", priority, model);
auto free_model_data = [](void **ptr) -> void {
if (ptr != nullptr && *ptr != nullptr) {
delete[] reinterpret_cast<char *>(*ptr);
*ptr = nullptr;
}
};
if (ret != SUCCESS) {
free_model_data(&model.model_data);
GELOGE(ret, "LoadFromFile failed.");
return ret;
}

try {
bool flag = google::protobuf::TextFormat::ParseFromString(reinterpret_cast<char *>(model.model_data), &model_def);
if (!flag) {
free_model_data(&model.model_data);
ErrorManager::GetInstance().ATCReportErrMessage("E19021", {"reason"}, {"ParseFromString failed"});
GELOGE(FAILED, "ParseFromString failed.");
return FAILED;
}
free_model_data(&model.model_data);
return SUCCESS;
} catch (google::protobuf::FatalException &e) {
free_model_data(&model.model_data);
ErrorManager::GetInstance().ATCReportErrMessage("E19021", {"reason"}, {"ParseFromString failed, exception message["
+ std::string(e.what()) + "]"});
GELOGE(FAILED, "ParseFromString failed. exception message : %s", e.what());
return FAILED;
}
}
} // namespace ge } // namespace ge

+ 1
- 1
ge/graph/optimize/common/params.h View File

@@ -55,7 +55,7 @@ class Params : public Singleton<Params> {
Params() : target_("MINI") {} Params() : target_("MINI") {}


string target_; string target_;
uint8_t target_8bit_ = TARGET_TYPE_MINI_8BIT;
uint8_t target_8bit_ = 0;
}; };
} // namespace ge } // namespace ge




+ 0
- 19
ge/init/gelib.cc View File

@@ -532,23 +532,4 @@ void GELib::RollbackInit() {
HostMemManager::Instance().Finalize(); HostMemManager::Instance().Finalize();
VarManagerPool::Instance().Destory(); VarManagerPool::Instance().Destory();
} }

Status GEInit::Initialize(const map<string, string> &options) {
Status ret = SUCCESS;
std::shared_ptr<GELib> instance_ptr = ge::GELib::GetInstance();
if (instance_ptr == nullptr || !instance_ptr->InitFlag()) {
ret = GELib::Initialize(options);
}
return ret;
}

Status GEInit::Finalize() {
Status ret = GELib::GetInstance()->Finalize();
return ret;
}

string GEInit::GetPath() {
std::string path = GELib::GetPath();
return path;
}
} // namespace ge } // namespace ge

+ 0
- 39
inc/framework/omg/ge_init.h View File

@@ -1,39 +0,0 @@
/**
* Copyright 2020 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#ifndef INC_FRAMEWORK_OMG_GE_INIT_H_
#define INC_FRAMEWORK_OMG_GE_INIT_H_
#include <map>
#include <string>
#include "common/ge_inner_error_codes.h"

using std::string;
using std::map;

namespace ge {
class GE_FUNC_VISIBILITY GEInit {
public:
// GE Environment Initialize, return Status: SUCCESS,FAILED
static Status Initialize(const map<string, string> &options);

static string GetPath();

// GE Environment Finalize, return Status: SUCCESS,FAILED
static Status Finalize();
};
} // namespace ge

#endif // INIT_H_

+ 0
- 33
inc/framework/omg/model_tool.h View File

@@ -1,33 +0,0 @@
/**
* Copyright 2019-2020 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#ifndef INC_FRAMEWORK_OMG_MODEL_TOOL_H_
#define INC_FRAMEWORK_OMG_MODEL_TOOL_H_

#include <memory>
#include <string>

#include "framework/common/debug/ge_log.h"
#include "proto/ge_ir.pb.h"
namespace ge {
class GE_FUNC_VISIBILITY ModelTool {
public:
static Status GetModelInfoFromOm(const char *model_file, ge::proto::ModelDef &model_def);
static Status GetModelInfoFromPbtxt(const char *model_file, ge::proto::ModelDef &model_def);
};
} // namespace ge
#endif // INC_FRAMEWORK_OMG_MODEL_TOOL_H_

Loading…
Cancel
Save