From 0482adfe8d2ef080675f02b95ba482377002eada Mon Sep 17 00:00:00 2001 From: hangangqiang Date: Tue, 5 Jan 2021 16:22:27 +0800 Subject: [PATCH] fix CreateSession(const char *model_buf, size_t size, const lite::Context *context) --- mindspore/lite/src/lite_session.cc | 3 ++- mindspore/lite/src/lite_session.h | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/mindspore/lite/src/lite_session.cc b/mindspore/lite/src/lite_session.cc index 8e01ac7ced..1504b14939 100644 --- a/mindspore/lite/src/lite_session.cc +++ b/mindspore/lite/src/lite_session.cc @@ -547,6 +547,7 @@ LiteSession::~LiteSession() { mindspore::lite::NPUPassManager::GetInstance()->Clear(); mindspore::lite::NPUManager::GetInstance()->Reset(); #endif + delete (model_); is_running_.store(false); } @@ -723,7 +724,7 @@ session::LiteSession *session::LiteSession::CreateSession(const char *model_buf, return nullptr; } model->buf = nullptr; - delete (model); + (reinterpret_cast(session))->set_model(model); return session; } } // namespace mindspore diff --git a/mindspore/lite/src/lite_session.h b/mindspore/lite/src/lite_session.h index 91e47bf5eb..7cbbfadfc6 100644 --- a/mindspore/lite/src/lite_session.h +++ b/mindspore/lite/src/lite_session.h @@ -66,6 +66,8 @@ class LiteSession : public session::LiteSession { int Resize(const std::vector &inputs, const std::vector> &dims) override; + void set_model(Model *model) { this->model_ = model; } + protected: static void ConvertTensorsQuantParam(const schema::Tensor *src_tensor, lite::Tensor *dst_tensor); @@ -123,6 +125,7 @@ class LiteSession : public session::LiteSession { // graph output tensor name -- output tensor std::unordered_map output_tensor_map_; Executor *executor_ = nullptr; + Model *model_ = nullptr; std::atomic is_running_ = false; #if SUPPORT_GPU && !SUPPORT_TRAIN opencl::OpenCLRuntimeWrapper ocl_runtime_wrap_;