From fb07fd7b821cd7af73832eb91d9e4afc057fc87c Mon Sep 17 00:00:00 2001 From: vurusovs Date: Fri, 14 Jul 2023 15:26:00 +0400 Subject: [PATCH] Remove extra `model` from `CompiledModelDesc` Use `get_runtime_model()` instead --- src/plugins/hetero/src/compiled_model.cpp | 9 +++------ src/plugins/hetero/src/compiled_model.hpp | 1 - 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/plugins/hetero/src/compiled_model.cpp b/src/plugins/hetero/src/compiled_model.cpp index ba061bbde40..6fbe413d4ab 100644 --- a/src/plugins/hetero/src/compiled_model.cpp +++ b/src/plugins/hetero/src/compiled_model.cpp @@ -401,7 +401,6 @@ ov::hetero::CompiledModel::CompiledModel(const std::shared_ptr& model subgraph._sinks, subgraph._parameters, m_name + '_' + std::to_string(id)); - m_compiled_submodels[id].model = subFunctions[id]->clone(); auto metaDevices = get_hetero_plugin()->get_properties_per_device(m_compiled_submodels[id].device, m_cfg.get_device_properties()); @@ -410,7 +409,7 @@ ov::hetero::CompiledModel::CompiledModel(const std::shared_ptr& model auto device_config = metaDevices[m_compiled_submodels[id].device]; device_config[ov::cache_dir.name()] = ""; - m_compiled_submodels[id].compiled_model = plugin->get_core()->compile_model(m_compiled_submodels[id].model, + m_compiled_submodels[id].compiled_model = plugin->get_core()->compile_model(subFunctions[id]->clone(), m_compiled_submodels[id].device, device_config); ++id; @@ -457,7 +456,6 @@ ov::hetero::CompiledModel::CompiledModel(std::istream& model, auto& loadConfig = metaDevices[device]; ov::SoPtr compiled_model; - std::shared_ptr ov_model; if (get_plugin()->get_core()->device_supports_model_caching(device)) { compiled_model = plugin->get_core()->import_model(model, device, loadConfig); @@ -477,13 +475,12 @@ ov::hetero::CompiledModel::CompiledModel(std::istream& model, model.read(weights.data(), dataSize); } - ov_model = plugin->get_core()->read_model(xmlString, weights); + auto ov_model = plugin->get_core()->read_model(xmlString, weights); compiled_model = plugin->get_core()->compile_model(ov_model, device, loadConfig); } m_compiled_submodels.emplace_back(ov::hetero::CompiledModel::CompiledModelDesc{ device, - ov_model, compiled_model, }); } @@ -690,7 +687,7 @@ void ov::hetero::CompiledModel::export_model(std::ostream& model_stream) const { if (get_plugin()->get_core()->device_supports_model_caching(comp_model_desc.device)) { comp_model_desc.compiled_model->export_model(model_stream); } else { - auto model = comp_model_desc.model; + auto model = std::const_pointer_cast(comp_model_desc.compiled_model->get_runtime_model()); if (!model) OPENVINO_THROW("OpenVINO Model is empty"); diff --git a/src/plugins/hetero/src/compiled_model.hpp b/src/plugins/hetero/src/compiled_model.hpp index 0b1154a73fa..d482f00d42c 100644 --- a/src/plugins/hetero/src/compiled_model.hpp +++ b/src/plugins/hetero/src/compiled_model.hpp @@ -60,7 +60,6 @@ private: struct CompiledModelDesc { std::string device; - std::shared_ptr model; ov::SoPtr compiled_model; }; std::vector m_compiled_submodels;