aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/OptimizedNetworkImpl.hpp
blob: 112d585aee119e01915b273e7ceda4b84bafa526 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//
// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//

#include <common/include/ProfilingGuid.hpp>

namespace armnn
{

class OptimizedNetworkImpl
{
public:
    OptimizedNetworkImpl(const OptimizedNetworkImpl& other, const ModelOptions& modelOptions);
    OptimizedNetworkImpl(std::unique_ptr<Graph> graph);
    OptimizedNetworkImpl(std::unique_ptr<Graph> graph, const ModelOptions& modelOptions);
    virtual ~OptimizedNetworkImpl();

    virtual Status PrintGraph();
    virtual Status SerializeToDot(std::ostream& stream) const;

    virtual profiling::ProfilingGuid GetGuid() const { return m_Guid; };

    virtual size_t GetNumInputs() const;
    virtual size_t GetNumOutputs() const;

    Graph& GetGraph() { return *m_Graph; }
    ModelOptions& GetModelOptions() { return m_ModelOptions; }

private:
    std::unique_ptr<Graph> m_Graph;
    profiling::ProfilingGuid m_Guid;
    ModelOptions m_ModelOptions;
};

}