From 0f3e9a09a90664fc7c6479f1d7b312a4671d9659 Mon Sep 17 00:00:00 2001 From: Francis Murtagh Date: Fri, 28 Jul 2023 14:29:46 +0100 Subject: IVGCVSW-7635 Remove deprecated code due to be removed in 23.08 (SubgraphView) Signed-off-by: Francis Murtagh Signed-off-by: Kevin May Change-Id: I6686ad0a16ef763dbdc771c7ef792ae2890e0ab2 --- include/armnn/backends/SubgraphView.hpp | 64 +++++++++------------------ src/armnn/Network.cpp | 4 +- src/armnn/SubgraphView.cpp | 60 +++++-------------------- src/armnn/test/SubgraphViewTests.cpp | 62 ++++++-------------------- src/backends/cl/ClBackend.cpp | 8 ++-- src/backends/neon/NeonBackend.cpp | 8 ++-- src/backends/reference/RefBackend.cpp | 8 ++-- src/backends/tosaReference/TosaRefBackend.cpp | 4 +- 8 files changed, 61 insertions(+), 157 deletions(-) diff --git a/include/armnn/backends/SubgraphView.hpp b/include/armnn/backends/SubgraphView.hpp index 24f8958930..19603a510f 100644 --- a/include/armnn/backends/SubgraphView.hpp +++ b/include/armnn/backends/SubgraphView.hpp @@ -88,73 +88,49 @@ public: /// Move-assignment operator. SubgraphView& operator=(SubgraphView&& other); - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIInputSlots() returning" - " public IInputSlots", "23.08") - const InputSlots& GetInputSlots() const; const IInputSlots& GetIInputSlots() const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIOutputSlots() returning" - " public IOutputSlots", "23.08") - const OutputSlots& GetOutputSlots() const; const IOutputSlots& GetIOutputSlots() const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIConnectableLayers() " - "returning public IConnectableLayers", "23.08") - const Layers& GetLayers() const; const IConnectableLayers& GetIConnectableLayers() const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIInputSlot() returning public " - "IInputSlot", "23.08") - const InputSlot* GetInputSlot(unsigned int index) const; const IInputSlot* GetIInputSlot(unsigned int index) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIInputSlot() returning public " - "IInputSlot", "23.08") - InputSlot* GetInputSlot(unsigned int index); IInputSlot* GetIInputSlot(unsigned int index); - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIOutputSlot() returning" - " public IOutputSlot", "23.08") - const OutputSlot* GetOutputSlot(unsigned int index) const; const IOutputSlot* GetIOutputSlot(unsigned int index) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIOutputSlot() returning" - " public IOutputSlot", "23.08") + OutputSlot* GetOutputSlot(unsigned int index); IOutputSlot* GetIOutputSlot(unsigned int index); unsigned int GetNumInputSlots() const; unsigned int GetNumOutputSlots() const; - ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be changed to return an " - "IConnectableLayerIterator, until that occurs in 23.08; please use " - "beginIConnectable() returning public IConnectableLayerIterator", "23.08") - Iterator begin(); + IConnectableLayerIterator begin(); + ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be removed; please use " + "begin() returning public IConnectableIterator", "24.05") IConnectableLayerIterator beginIConnectable(); - ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be changed to return an " - "IConnectableLayerIterator, until that occurs in 23.08; please use " - "endIConnectable() returning public IConnectableLayerIterator", "23.08") - Iterator end(); + IConnectableLayerIterator end();// + ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be removed; please use " + "end() returning public IConnectableLayerIterator", "24.05") IConnectableLayerIterator endIConnectable(); + ConstIConnectableIterator begin() const; - ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be changed to return an " - "ConstIConnectableIterator, until that occurs in 23.08; please use " - "beginIConnectable() returning public ConstIConnectableIterator", "23.08") - ConstIterator begin() const; + ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be removed; please use " + "begin() returning public ConstIConnectableIterator", "24.05") ConstIConnectableIterator beginIConnectable() const; - ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be changed to return an " - "ConstIConnectableIterator, until that occurs in 23.08; please use " - "endIConnectable() returning public ConstIConnectableIterator", "23.08") - ConstIterator end() const; + ConstIConnectableIterator end() const; + ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be removed; please use " + "end() returning public ConstIConnectableIterator", "24.05") ConstIConnectableIterator endIConnectable() const; - ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be changed to return an " - "ConstIConnectableIterator, until that occurs in 23.08; please use " - "cbeginIConnectable() returning public ConstIConnectableIterator", "23.08") - ConstIterator cbegin() const; + ConstIConnectableIterator cbegin() const; + ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be removed; please use " + "cbegin() returning public ConstIterator", "24.05") ConstIConnectableIterator cbeginIConnectable() const; - ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be changed to return an " - "ConstIConnectableIterator, until that occurs in 23.08; please use " - "cendIConnectable() returning public ConstIConnectableIterator", "23.08") - ConstIterator cend() const; + + ConstIConnectableIterator cend() const; + ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be removed; please use " + "cend() returning public ConstIConnectableIterator", "24.05") ConstIConnectableIterator cendIConnectable() const; void Clear(); diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp index 3074c1ffe9..41111476da 100644 --- a/src/armnn/Network.cpp +++ b/src/armnn/Network.cpp @@ -1270,8 +1270,8 @@ OptimizationResult AssignBackends(OptimizedNetworkImpl* optNetObjPtr, SubgraphView& subgraph, Optional&> errMessages) { - SubgraphView::IConnectableLayerIterator firstLayer = subgraph.beginIConnectable(); - SubgraphView::IConnectableLayerIterator lastLayer = subgraph.endIConnectable(); + SubgraphView::IConnectableLayerIterator firstLayer = subgraph.begin(); + SubgraphView::IConnectableLayerIterator lastLayer = subgraph.end(); return AssignBackends(optNetObjPtr, backendSettings, firstLayer, diff --git a/src/armnn/SubgraphView.cpp b/src/armnn/SubgraphView.cpp index e16c5c7b3a..4259c4f288 100644 --- a/src/armnn/SubgraphView.cpp +++ b/src/armnn/SubgraphView.cpp @@ -230,51 +230,26 @@ void SubgraphView::CheckSubgraph() "Sub-graphs cannot contain null or duplicate IConnectableLayers"); } -const SubgraphView::InputSlots& SubgraphView::GetInputSlots() const -{ - return m_InputSlots; -} - const SubgraphView::IInputSlots& SubgraphView::GetIInputSlots() const { return m_IInputSlots; } -const SubgraphView::OutputSlots& SubgraphView::GetOutputSlots() const -{ - return m_OutputSlots; -} - const SubgraphView::IOutputSlots& SubgraphView::GetIOutputSlots() const { return m_IOutputSlots; } -const InputSlot* SubgraphView::GetInputSlot(unsigned int index) const -{ - return m_InputSlots.at(index); -} - const IInputSlot* SubgraphView::GetIInputSlot(unsigned int index) const { return m_IInputSlots.at(index); } -InputSlot* SubgraphView::GetInputSlot(unsigned int index) -{ - return m_InputSlots.at(index); -} - IInputSlot* SubgraphView::GetIInputSlot(unsigned int index) { return m_IInputSlots.at(index); } -const OutputSlot* SubgraphView::GetOutputSlot(unsigned int index) const -{ - return m_OutputSlots.at(index); -} - const IOutputSlot* SubgraphView::GetIOutputSlot(unsigned int index) const { return m_IOutputSlots.at(index); @@ -300,24 +275,19 @@ unsigned int SubgraphView::GetNumOutputSlots() const return armnn::numeric_cast(m_IOutputSlots.size()); } -const SubgraphView::Layers& SubgraphView::GetLayers() const -{ - return m_Layers; -} - const SubgraphView::IConnectableLayers& SubgraphView::GetIConnectableLayers() const { return m_IConnectableLayers; } -SubgraphView::Iterator SubgraphView::begin() +SubgraphView::IConnectableLayerIterator SubgraphView::begin() { - return m_Layers.begin(); + return m_IConnectableLayers.begin(); } -SubgraphView::Iterator SubgraphView::end() +SubgraphView::IConnectableLayerIterator SubgraphView::end() { - return m_Layers.end(); + return m_IConnectableLayers.end(); } // IConnectable Duplication to maintain backwards compatibility @@ -331,14 +301,14 @@ SubgraphView::IConnectableLayerIterator SubgraphView::endIConnectable() return m_IConnectableLayers.end(); } -SubgraphView::ConstIterator SubgraphView::begin() const +SubgraphView::ConstIConnectableIterator SubgraphView::begin() const { - return m_Layers.begin(); + return m_IConnectableLayers.begin(); } -SubgraphView::ConstIterator SubgraphView::end() const +SubgraphView::ConstIConnectableIterator SubgraphView::end() const { - return m_Layers.end(); + return m_IConnectableLayers.end(); } // IConnectable Duplication to maintain backwards compatibility @@ -352,31 +322,25 @@ SubgraphView::ConstIConnectableIterator SubgraphView::endIConnectable() const return m_IConnectableLayers.end(); } -SubgraphView::ConstIterator SubgraphView::cbegin() const +SubgraphView::ConstIConnectableIterator SubgraphView::cbegin() const { - // Ignore deprecated call as this is internal to SubgraphView - ARMNN_NO_DEPRECATE_WARN_BEGIN return begin(); - ARMNN_NO_DEPRECATE_WARN_END } -SubgraphView::ConstIterator SubgraphView::cend() const +SubgraphView::ConstIConnectableIterator SubgraphView::cend() const { - // Ignore deprecated call as this is internal to SubgraphView - ARMNN_NO_DEPRECATE_WARN_BEGIN return end(); - ARMNN_NO_DEPRECATE_WARN_END } // IConnectable Duplication to maintain backwards compatibility SubgraphView::ConstIConnectableIterator SubgraphView::cbeginIConnectable() const { - return beginIConnectable(); + return begin(); } SubgraphView::ConstIConnectableIterator SubgraphView::cendIConnectable() const { - return endIConnectable(); + return end(); } void SubgraphView::Clear() diff --git a/src/armnn/test/SubgraphViewTests.cpp b/src/armnn/test/SubgraphViewTests.cpp index e0fd5fe7c1..5027e5e42c 100644 --- a/src/armnn/test/SubgraphViewTests.cpp +++ b/src/armnn/test/SubgraphViewTests.cpp @@ -193,41 +193,27 @@ TEST_CASE("SubgraphViewIterators") SubgraphView subgraph{layer}; - // cbeginIConnectable() and cendIConnectable() + // cbegin() and cend() bool found = false; - if (std::find(subgraph.cbeginIConnectable(), subgraph.cendIConnectable(), layer) - != subgraph.cendIConnectable()) + if (std::find(subgraph.cbegin(), subgraph.cend(), layer) + != subgraph.cend()) { found = true; } CHECK(found); found = false; - // beginIConnectable() and endIConnectable() - if (std::find(subgraph.beginIConnectable(), subgraph.endIConnectable(), layer) - != subgraph.endIConnectable()) + // begin() and end() + if (std::find(subgraph.begin(), subgraph.end(), layer) + != subgraph.end()) { found = true; } CHECK(found); found = false; - // GetIConnectableLayers returns IConnectableLayers initialized when calling constructor given IConnectableLayers - const SubgraphView::IConnectableLayers& subgraphLayers = subgraph.GetIConnectableLayers(); - for (auto& iConnectableLayer : subgraphLayers) - { - if (std::string(iConnectableLayer->GetName()) == "input") - { - found = true; - } - } - CHECK(found); - found = false; - // Test GetLayers returns layers initialized when calling constructor given IConnectableLayers - ARMNN_NO_DEPRECATE_WARN_BEGIN - const SubgraphView::Layers& subgraphLayersOld = subgraph.GetLayers(); - ARMNN_NO_DEPRECATE_WARN_END + const SubgraphView::IConnectableLayers& subgraphLayersOld = subgraph.GetIConnectableLayers(); for (auto& layerOld : subgraphLayersOld) { if (std::string(layerOld->GetName()) == "input") @@ -260,19 +246,9 @@ TEST_CASE("SubgraphViewSlots") CreateIInputsFrom({convLayer1}, {1, 2}), CreateIOutputsFrom({convLayer2})); - // Test that both old and new are initialized + // Test initialized CHECK(subgraph->GetIInputSlots().size() == 1); CHECK(subgraph->GetIOutputSlots().size() == 1); - - ARMNN_NO_DEPRECATE_WARN_BEGIN - CHECK(subgraph->GetInputSlots().size() == 1); - CHECK(subgraph->GetOutputSlots().size() == 1); - - // Check old and new pointing to same address - CHECK(subgraph->GetOutputSlot(0) == subgraph->GetIOutputSlot(0)); - CHECK(subgraph->GetInputSlot(0) == subgraph->GetIInputSlot(0)); - ARMNN_NO_DEPRECATE_WARN_END - } TEST_CASE("SubgraphViewConstructors") @@ -304,24 +280,12 @@ TEST_CASE("SubgraphViewConstructors") CHECK(subgraph->GetIInputSlots() == subgraph2.GetIInputSlots()); CHECK(subgraph->GetIOutputSlots() == subgraph2.GetIOutputSlots()); - ARMNN_NO_DEPRECATE_WARN_BEGIN - CHECK(subgraph->GetLayers() == subgraph2.GetLayers()); - CHECK(subgraph->GetInputSlots() == subgraph2.GetInputSlots()); - CHECK(subgraph->GetOutputSlots() == subgraph2.GetOutputSlots()); - ARMNN_NO_DEPRECATE_WARN_END - // Move Constructor SubgraphView subgraph3(std::move(subgraph2)); CHECK(subgraph->GetIConnectableLayers() == subgraph3.GetIConnectableLayers()); CHECK(subgraph->GetIInputSlots() == subgraph3.GetIInputSlots()); CHECK(subgraph->GetIOutputSlots() == subgraph3.GetIOutputSlots()); - ARMNN_NO_DEPRECATE_WARN_BEGIN - CHECK(subgraph->GetLayers() == subgraph3.GetLayers()); - CHECK(subgraph->GetInputSlots() == subgraph3.GetInputSlots()); - CHECK(subgraph->GetOutputSlots() == subgraph3.GetOutputSlots()); - ARMNN_NO_DEPRECATE_WARN_END - // Clear subgraph.get()->Clear(); CHECK(subgraph->GetIConnectableLayers().size() == 0); @@ -1517,8 +1481,8 @@ TEST_CASE("Random") for (auto& subgraph : subgraphs) { std::string name = std::to_string(i++); - if (std::find(subgraph->cbeginIConnectable(), subgraph->cendIConnectable(), layer) - != subgraph->cendIConnectable()) + if (std::find(subgraph->cbegin(), subgraph->cend(), layer) + != subgraph->cend()) { layerToSubgraph[layer] = subgraph.get(); break; @@ -2082,14 +2046,14 @@ TEST_CASE("SubgraphViewPartialWorkingCopySubstituteSubgraph") auto workingCopy = view->GetWorkingCopy(); // First (and only) layer in the subgraph is the Activation - CHECK(std::string((*workingCopy.beginIConnectable())->GetName()) == "Activation"); + CHECK(std::string((*workingCopy.begin())->GetName()) == "Activation"); // Substitute the "Activation" layer for an equivalent layer auto activation2 = graph.AddLayer(ActivationDescriptor{}, "Activation2"); - SubgraphView pattern(*workingCopy.beginIConnectable()); + SubgraphView pattern(*workingCopy.begin()); workingCopy.SubstituteSubgraph(pattern, activation2); - CHECK(std::string((*workingCopy.beginIConnectable())->GetName()) == "Activation2"); + CHECK(std::string((*workingCopy.begin())->GetName()) == "Activation2"); } // Workaround function used to get the original OutputSlot connected to the InputSlot of a SubgraphView diff --git a/src/backends/cl/ClBackend.cpp b/src/backends/cl/ClBackend.cpp index 532892e0d0..1d8ae21e5d 100644 --- a/src/backends/cl/ClBackend.cpp +++ b/src/backends/cl/ClBackend.cpp @@ -295,18 +295,18 @@ OptimizationViews ClBackend::OptimizeSubgraphView(const SubgraphView& subgraph, { OptimizationViews optimizationViews(modelOptions); - auto it = subgraph.endIConnectable(); + auto it = subgraph.end(); bool isFastMathEnabled = false; std::map untouched; - while (it != subgraph.beginIConnectable()) + while (it != subgraph.begin()) { --it; Layer& base = *(PolymorphicDowncast(*it)); untouched.insert({base.GetGuid(), &base}); } - it = subgraph.endIConnectable(); + it = subgraph.end(); #if defined(ARMCOMPUTECL_ENABLED) IBackendInternal::IBackendSpecificModelContextPtr modelContextPtr = CreateBackendSpecificModelContext(modelOptions); @@ -319,7 +319,7 @@ OptimizationViews ClBackend::OptimizeSubgraphView(const SubgraphView& subgraph, } } #endif - while (it != subgraph.beginIConnectable()) + while (it != subgraph.begin()) { --it; Layer& base = *(PolymorphicDowncast(*it)); diff --git a/src/backends/neon/NeonBackend.cpp b/src/backends/neon/NeonBackend.cpp index 3a398e03e6..a5e9ab9a96 100644 --- a/src/backends/neon/NeonBackend.cpp +++ b/src/backends/neon/NeonBackend.cpp @@ -144,18 +144,18 @@ OptimizationViews NeonBackend::OptimizeSubgraphView(const SubgraphView& subgraph { OptimizationViews optimizationViews(modelOptions); - auto it = subgraph.endIConnectable(); + auto it = subgraph.end(); std::map untouched; - while (it != subgraph.beginIConnectable()) + while (it != subgraph.begin()) { --it; Layer& base = *(PolymorphicDowncast(*it)); untouched.insert({base.GetGuid(), &base}); } - it = subgraph.endIConnectable(); - while (it != subgraph.beginIConnectable()) + it = subgraph.end(); + while (it != subgraph.begin()) { --it; Layer& base = *(PolymorphicDowncast(*it)); diff --git a/src/backends/reference/RefBackend.cpp b/src/backends/reference/RefBackend.cpp index 02749af1f9..fe11fd259c 100644 --- a/src/backends/reference/RefBackend.cpp +++ b/src/backends/reference/RefBackend.cpp @@ -74,18 +74,18 @@ OptimizationViews RefBackend::OptimizeSubgraphView(const SubgraphView& subgraph, { OptimizationViews optimizationViews(modelOptions); - auto it = subgraph.endIConnectable(); + auto it = subgraph.end(); std::map untouched; - while (it != subgraph.beginIConnectable()) + while (it != subgraph.begin()) { --it; Layer& base = *(PolymorphicDowncast(*it)); untouched.insert({base.GetGuid(), &base}); } - it = subgraph.endIConnectable(); - while (it != subgraph.beginIConnectable()) + it = subgraph.end(); + while (it != subgraph.begin()) { --it; Layer& base = *(PolymorphicDowncast(*it)); diff --git a/src/backends/tosaReference/TosaRefBackend.cpp b/src/backends/tosaReference/TosaRefBackend.cpp index 554bb10f0f..bce3e2c1b8 100644 --- a/src/backends/tosaReference/TosaRefBackend.cpp +++ b/src/backends/tosaReference/TosaRefBackend.cpp @@ -92,8 +92,8 @@ OptimizationViews TosaRefBackend::OptimizeSubgraphView(const SubgraphView& subgr std::vector operators; std::vector tensors; - auto it = subgraph.endIConnectable(); - while (it != subgraph.beginIConnectable()) + auto it = subgraph.end(); + while (it != subgraph.begin()) { --it; Layer& base = *(PolymorphicDowncast(*it)); -- cgit v1.2.1