diff options
Diffstat (limited to 'src/armnn/SubgraphView.hpp')
-rw-r--r-- | src/armnn/SubgraphView.hpp | 167 |
1 files changed, 3 insertions, 164 deletions
diff --git a/src/armnn/SubgraphView.hpp b/src/armnn/SubgraphView.hpp index f2ca44cb68..ddfd88402b 100644 --- a/src/armnn/SubgraphView.hpp +++ b/src/armnn/SubgraphView.hpp @@ -5,168 +5,7 @@ #pragma once -#include "Layer.hpp" -#include "Graph.hpp" +#include <armnn/backends/SubgraphView.hpp> -#include <vector> -#include <list> - -namespace armnn -{ - -/// -/// The SubgraphView class represents a subgraph of a Graph. -/// The data it holds, points to data held by layers of the Graph, so the -/// the contents of the SubgraphView become invalid when the Layers are destroyed -/// or changed. -/// -class SubgraphView final -{ -public: - template <typename Func> - void ForEachLayer(Func func) const - { - for (auto it = m_Layers.begin(); it != m_Layers.end(); ) - { - auto next = std::next(it); - func(*it); - it = next; - } - } - - template <typename Func> - void ForEachIConnectableLayer(Func func) const - { - for (auto it = m_IConnectableLayers.begin(); it != m_IConnectableLayers.end(); ) - { - auto next = std::next(it); - func(*it); - it = next; - } - } - - using SubgraphViewPtr = std::unique_ptr<SubgraphView>; - using InputSlots = std::vector<InputSlot*>; - using IInputSlots = std::vector<IInputSlot*>; - using OutputSlots = std::vector<OutputSlot*>; - using IOutputSlots = std::vector<IOutputSlot*>; - using Layers = std::list<Layer*>; - using IConnectableLayers = std::list<IConnectableLayer*>; - using Iterator = Layers::iterator; - using IConnectableLayerIterator = IConnectableLayers::iterator; - using ConstIterator = Layers::const_iterator; - using ConstIConnectableIterator = IConnectableLayers::const_iterator; - - /// Constructs a sub-graph from the entire given graph. - explicit SubgraphView(Graph& graph); - - /// Constructs a sub-graph with the given arguments. - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use constructor with arguments: " - "IConnectableLayers, IInputSlots and IOutputSlots", "22.08") - SubgraphView(InputSlots&& inputs, OutputSlots&& outputs, Layers&& layers); - - /// Constructs a sub-graph with the given arguments. - SubgraphView(IConnectableLayers&& layers, IInputSlots&& inputs, IOutputSlots&& outputs); - - /// Copy-constructor. - SubgraphView(const SubgraphView& subgraph); - - /// Move-constructor. - SubgraphView(SubgraphView&& subgraph); - - /// Constructs a sub-graph with only the given layer. - SubgraphView(IConnectableLayer* layer); - - /// Move-assignment operator. - SubgraphView& operator=(SubgraphView&& other); - - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use GetIInputSlots() returning" - " public IInputSlots", "22.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", "22.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", "22.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", "22.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", "22.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", "22.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", "22.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.02; please use " - "beginIConnectable() returning public IConnectableLayerIterator", "23.02") - Iterator begin(); - IConnectableLayerIterator beginIConnectable(); - ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be changed to return an " - "IConnectableLayerIterator, until that occurs in 23.02; please use " - "endIConnectable() returning public IConnectableLayerIterator", "23.02") - Iterator end(); - IConnectableLayerIterator endIConnectable(); - - ARMNN_DEPRECATED_MSG_CHANGE_DATE("This function is deprecated and will be changed to return an " - "ConstIConnectableIterator, until that occurs in 23.02; please use " - "beginIConnectable() returning public ConstIConnectableIterator", "23.02") - ConstIterator begin() const; - 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.02; please use " - "endIConnectable() returning public ConstIConnectableIterator", "23.02") - ConstIterator end() const; - 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.02; please use " - "cbeginIConnectable() returning public ConstIConnectableIterator", "23.02") - ConstIterator cbegin() const; - 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.02; please use " - "cendIConnectable() returning public ConstIConnectableIterator", "23.02") - ConstIterator cend() const; - ConstIConnectableIterator cendIConnectable() const; - - void Clear(); - -private: - void CheckSubgraph(); - - /// Arrange the order of layers topologically so that nodes can be visited in valid order - void ArrangeBySortOrder(); - - /// The list of pointers to the input slots of the parent graph. - InputSlots m_InputSlots; - IInputSlots m_IInputSlots; - - /// The list of pointers to the output slots of the parent graph. - OutputSlots m_OutputSlots; - IOutputSlots m_IOutputSlots; - - /// The list of pointers to the layers of the parent graph. - Layers m_Layers; - IConnectableLayers m_IConnectableLayers; -}; -} // namespace armnn +#pragma message("src/armnn/SubgraphView.hpp has been deprecated, it is due for removal in" \ + " 22.08 release. Please use include/armnn/backends/SubgraphView.hpp instead.") |