1*89c4ff92SAndroid Build Coastguard Worker // 2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2021 Arm Ltd and Contributors. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker // 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Worker #include <common/include/ProfilingGuid.hpp> 7*89c4ff92SAndroid Build Coastguard Worker 8*89c4ff92SAndroid Build Coastguard Worker namespace armnn 9*89c4ff92SAndroid Build Coastguard Worker { 10*89c4ff92SAndroid Build Coastguard Worker 11*89c4ff92SAndroid Build Coastguard Worker class OptimizedNetworkImpl 12*89c4ff92SAndroid Build Coastguard Worker { 13*89c4ff92SAndroid Build Coastguard Worker public: 14*89c4ff92SAndroid Build Coastguard Worker OptimizedNetworkImpl(const OptimizedNetworkImpl& other, const ModelOptions& modelOptions); 15*89c4ff92SAndroid Build Coastguard Worker OptimizedNetworkImpl(std::unique_ptr<Graph> graph); 16*89c4ff92SAndroid Build Coastguard Worker OptimizedNetworkImpl(std::unique_ptr<Graph> graph, const ModelOptions& modelOptions); 17*89c4ff92SAndroid Build Coastguard Worker virtual ~OptimizedNetworkImpl(); 18*89c4ff92SAndroid Build Coastguard Worker 19*89c4ff92SAndroid Build Coastguard Worker virtual Status PrintGraph(); 20*89c4ff92SAndroid Build Coastguard Worker virtual Status SerializeToDot(std::ostream& stream) const; 21*89c4ff92SAndroid Build Coastguard Worker GetGuid() const22*89c4ff92SAndroid Build Coastguard Worker virtual arm::pipe::ProfilingGuid GetGuid() const { return m_Guid; }; 23*89c4ff92SAndroid Build Coastguard Worker 24*89c4ff92SAndroid Build Coastguard Worker virtual size_t GetNumInputs() const; 25*89c4ff92SAndroid Build Coastguard Worker virtual size_t GetNumOutputs() const; 26*89c4ff92SAndroid Build Coastguard Worker GetGraph()27*89c4ff92SAndroid Build Coastguard Worker Graph& GetGraph() { return *m_Graph; } GetGraph() const28*89c4ff92SAndroid Build Coastguard Worker Graph& GetGraph() const { return *m_Graph; } GetModelOptions()29*89c4ff92SAndroid Build Coastguard Worker ModelOptions& GetModelOptions() { return m_ModelOptions; } 30*89c4ff92SAndroid Build Coastguard Worker 31*89c4ff92SAndroid Build Coastguard Worker void ExecuteStrategy(IStrategy& strategy) const; 32*89c4ff92SAndroid Build Coastguard Worker 33*89c4ff92SAndroid Build Coastguard Worker private: 34*89c4ff92SAndroid Build Coastguard Worker std::unique_ptr<Graph> m_Graph; 35*89c4ff92SAndroid Build Coastguard Worker arm::pipe::ProfilingGuid m_Guid; 36*89c4ff92SAndroid Build Coastguard Worker ModelOptions m_ModelOptions; 37*89c4ff92SAndroid Build Coastguard Worker }; 38*89c4ff92SAndroid Build Coastguard Worker 39*89c4ff92SAndroid Build Coastguard Worker } 40