From 3be1f6b6fa8087f2f03ad1e8c1c6b54342a5dc8b Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Tue, 28 Jul 2020 05:58:52 +0300 Subject: [PATCH] Removed NgraphData (#1416) --- inference-engine/include/ie_data.h | 5 ---- .../inference_engine/cnn_network_ngraph_impl.cpp | 11 +------- .../inference_engine/cnn_network_ngraph_impl.hpp | 31 +--------------------- inference-engine/src/inference_engine/ie_data.cpp | 14 +--------- .../src/convert_function_to_cnn_network.cpp | 12 ++++----- 5 files changed, 8 insertions(+), 65 deletions(-) diff --git a/inference-engine/include/ie_data.h b/inference-engine/include/ie_data.h index f83e0e7..1b70687 100644 --- a/inference-engine/include/ie_data.h +++ b/inference-engine/include/ie_data.h @@ -63,11 +63,6 @@ public: Data & operator = (const Data& data); /** - * @brief A virtual destructor - */ - virtual ~Data() = default; - - /** * @brief Checks if the current node is resolved * * @return true if resolved, false otherwise. diff --git a/inference-engine/src/inference_engine/cnn_network_ngraph_impl.cpp b/inference-engine/src/inference_engine/cnn_network_ngraph_impl.cpp index 7b1a6b5..8a5edef 100644 --- a/inference-engine/src/inference_engine/cnn_network_ngraph_impl.cpp +++ b/inference-engine/src/inference_engine/cnn_network_ngraph_impl.cpp @@ -101,7 +101,7 @@ void CNNNetworkNGraphImpl::createDataForResult(const ::ngraph::Output<::ngraph:: } else { const auto precision = details::convertPrecision(output.get_element_type()); const auto layout = TensorDesc::getLayoutByDims(dims); - ptr.reset(new NGraphData(this, outName, {precision, dims, layout})); + ptr.reset(new Data(outName, {precision, dims, layout})); } } @@ -146,15 +146,6 @@ CNNNetworkNGraphImpl::CNNNetworkNGraphImpl(const std::shared_ptr& nGra } } -CNNNetworkNGraphImpl::~CNNNetworkNGraphImpl() { - for (auto& data : _data) { - if (!data.second) continue; - if (auto nData = std::dynamic_pointer_cast(data.second)) { - nData->reset(); - } - } -} - void CNNNetworkNGraphImpl::setInputInfo(InputInfo::Ptr data) { if (cnnNetwork) cnnNetwork->setInputInfo(data); _inputData[data->name()] = data; diff --git a/inference-engine/src/inference_engine/cnn_network_ngraph_impl.hpp b/inference-engine/src/inference_engine/cnn_network_ngraph_impl.hpp index ba84a1a..7b042c7 100644 --- a/inference-engine/src/inference_engine/cnn_network_ngraph_impl.hpp +++ b/inference-engine/src/inference_engine/cnn_network_ngraph_impl.hpp @@ -43,7 +43,7 @@ namespace details { class INFERENCE_ENGINE_API_CLASS(CNNNetworkNGraphImpl): public ICNNNetwork { public: CNNNetworkNGraphImpl(const std::shared_ptr<::ngraph::Function>& nGraph); - ~CNNNetworkNGraphImpl() override; + ~CNNNetworkNGraphImpl() override = default; void getOutputsInfo(std::map& out) const noexcept override; @@ -118,8 +118,6 @@ private: CNNNetworkImpl* cnnNetworkImpl, bool keep_constant_inputs); - friend class NGraphData; - /** * @brief Reshape on the same shape */ @@ -135,32 +133,5 @@ public: } }; -IE_SUPPRESS_DEPRECATED_START - -/** - * @brief Special derived class of Data which converts CNNNetworkNGraphImpl to CNNLayer-based representation - * in case if a user called Data::getCreatorLayer or Data::getInputTo - */ -class NGraphData : public Data { -public: - using Ptr = std::shared_ptr; - - NGraphData(CNNNetworkNGraphImpl* network, const std::string& name, const TensorDesc& desc) - : Data(name, desc), network(network) {} - - void reset() { - network = nullptr; - } - - CNNLayerWeakPtr& getCreatorLayer(); - - std::map& getInputTo(); - -private: - CNNNetworkNGraphImpl* network; -}; - -IE_SUPPRESS_DEPRECATED_END - } // namespace details } // namespace InferenceEngine diff --git a/inference-engine/src/inference_engine/ie_data.cpp b/inference-engine/src/inference_engine/ie_data.cpp index 4123171..2410984 100644 --- a/inference-engine/src/inference_engine/ie_data.cpp +++ b/inference-engine/src/inference_engine/ie_data.cpp @@ -110,11 +110,7 @@ const SizeVector& Data::getDims() const { // compatibility CNNLayerWeakPtr& InferenceEngine::getCreatorLayer(const DataPtr & data) { - if (auto ndata = std::dynamic_pointer_cast(data)) { - return ndata->getCreatorLayer(); - } else { - return data->_impl->creatorLayer; - } + return data->_impl->creatorLayer; } std::map& InferenceEngine::getInputTo(const DataPtr & data) { @@ -124,11 +120,3 @@ std::map& InferenceEngine::getInputTo(const DataPtr & std::map& InferenceEngine::getInputTo(Data * data) { return data->_impl->inputTo; } - -CNNLayerWeakPtr& details::NGraphData::getCreatorLayer() { - return _impl->creatorLayer; -} - -std::map& details::NGraphData::getInputTo() { - return _impl->inputTo; -} diff --git a/inference-engine/src/legacy_api/src/convert_function_to_cnn_network.cpp b/inference-engine/src/legacy_api/src/convert_function_to_cnn_network.cpp index 07d0f4c..37a0cd1 100644 --- a/inference-engine/src/legacy_api/src/convert_function_to_cnn_network.cpp +++ b/inference-engine/src/legacy_api/src/convert_function_to_cnn_network.cpp @@ -814,8 +814,7 @@ void convertFunctionToICNNNetwork(const std::shared_ptrget_friendly_name(); if (layer->get_output_size() != 1) outName += "." + std::to_string(i); DataPtr &ptr = cnnNetworkImpl->getData(outName.c_str()); - SizeVector dims; - dims = layer->get_output_shape(i); + SizeVector dims = layer->get_output_shape(i); for (const auto &dim : dims) { if (!dim) THROW_IE_EXCEPTION << cnnLayer->type << " layer " << cnnLayer->name @@ -823,14 +822,13 @@ void convertFunctionToICNNNetwork(const std::shared_ptr_data.find(outName) != nGraphImpl->_data.end()) { ptr = nGraphImpl->_data.at(outName); - if (auto nData = std::dynamic_pointer_cast(ptr)) { + { const auto layout = - dims.size() == nData->getTensorDesc().getDims().size() ? - nData->getTensorDesc().getLayout() : + dims.size() == ptr->getTensorDesc().getDims().size() ? + ptr->getTensorDesc().getLayout() : TensorDesc::getLayoutByDims(dims); - nData->reset(); - nData->reshape(dims, layout); + ptr->reshape(dims, layout); } cnnNetworkImpl->addData(outName.c_str(), ptr); } -- 2.7.4