blob: cb0dc4c8cf9e287ccc38ee097e3b0291a77a989d [file] [log] [blame]
Francis Murtagh3d2b4b22021-02-15 18:23:17 +00001//
2// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
Nikhil Raj7dcc6972021-04-30 15:44:24 +01006#include <common/include/ProfilingGuid.hpp>
7
Francis Murtagh3d2b4b22021-02-15 18:23:17 +00008namespace armnn
9{
10
11class OptimizedNetworkImpl
12{
13public:
Mike Kelly0d677db2021-06-27 22:39:21 +010014 OptimizedNetworkImpl(const OptimizedNetworkImpl& other, const ModelOptions& modelOptions);
Francis Murtagh3d2b4b22021-02-15 18:23:17 +000015 OptimizedNetworkImpl(std::unique_ptr<Graph> graph);
16 OptimizedNetworkImpl(std::unique_ptr<Graph> graph, const ModelOptions& modelOptions);
17 virtual ~OptimizedNetworkImpl();
18
19 virtual Status PrintGraph();
20 virtual Status SerializeToDot(std::ostream& stream) const;
21
Cathal Corbett5aa9fd72022-02-25 15:33:28 +000022 virtual arm::pipe::ProfilingGuid GetGuid() const { return m_Guid; };
Francis Murtagh3d2b4b22021-02-15 18:23:17 +000023
Sadik Armaganb7851f92021-10-06 16:37:02 +010024 virtual size_t GetNumInputs() const;
25 virtual size_t GetNumOutputs() const;
26
Francis Murtagh3d2b4b22021-02-15 18:23:17 +000027 Graph& GetGraph() { return *m_Graph; }
28 ModelOptions& GetModelOptions() { return m_ModelOptions; }
29
30private:
31 std::unique_ptr<Graph> m_Graph;
Cathal Corbett5aa9fd72022-02-25 15:33:28 +000032 arm::pipe::ProfilingGuid m_Guid;
Francis Murtagh3d2b4b22021-02-15 18:23:17 +000033 ModelOptions m_ModelOptions;
34};
35
36}