Line data Source code
1 : // SPDX-License-Identifier: Apache-2.0
2 : /**
3 : * Copyright (C) 2021 Jihoon Lee <jhoon.it.lee@samsung.com>
4 : *
5 : * @file multiout_realizer.h
6 : * @date 17 November 2021
7 : * @brief NNTrainer graph realizer which realizes multiout to actual node
8 : * @see https://github.com/nnstreamer/nntrainer
9 : * @author Jihoon Lee <jhoon.it.lee@samsung.com>
10 : * @bug No known bugs except for NYI items
11 : */
12 : #ifndef __MULTIOUT_REALIZER_H__
13 : #define __MULTIOUT_REALIZER_H__
14 :
15 : #include <memory>
16 : #include <vector>
17 :
18 : #include <realizer.h>
19 :
20 : namespace nntrainer {
21 :
22 : /**
23 : * @brief Add multiout layer when a certain input is referenced multiple times
24 : * @note after multiout realizer, it is guaranteed that input_layer only refers
25 : * to a single connection
26 : *
27 : */
28 698 : class MultioutRealizer final : public GraphRealizer {
29 : public:
30 : /**
31 : * @brief Destroy the Graph Realizer object
32 : *
33 : */
34 : ~MultioutRealizer();
35 :
36 : /**
37 : * @brief graph realizer creates a new graph based on the reference
38 : *
39 : */
40 : GraphRepresentation realize(const GraphRepresentation &reference) override;
41 : };
42 :
43 : } // namespace nntrainer
44 :
45 : #endif // __MULTIOUT_REALIZER_H__
|