unroll_tensor_iterator.hpp
1 // Copyright (C) 2018-2021 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4 
5 #pragma once
6 
7 #include <vector>
8 #include <memory>
9 
10 #include <transformations_visibility.hpp>
11 
12 #include <ngraph/pass/graph_rewrite.hpp>
13 
14 namespace ngraph {
15 namespace pass {
16 
17 class TRANSFORMATIONS_API UnrollTensorIterator;
18 
19 } // namespace pass
20 } // namespace ngraph
21 
22 /**
23  * @ingroup ie_transformation_common_api
24  * @brief Unrolls the body of the TensorIterator layer. Multiple body copies, the number of which is determined by
25  * the number of iterations of the TensorIterator layer, are created and connected to each other and to the external
26  * network. If the number of TensorIterator iterations is greater than 1, then additional Concat and Split layers
27  * are added to the network.
28  */
29 
30 class ngraph::pass::UnrollTensorIterator: public ngraph::pass::FunctionPass {
31 public:
32  NGRAPH_RTTI_DECLARATION;
33  bool run_on_function(std::shared_ptr<Function>) override;
34 };
Unrolls the body of the TensorIterator layer. Multiple body copies, the number of which is determined...
Definition: unroll_tensor_iterator.hpp:30
ngraph namespace
Definition: add_fake_quantize_fusion.hpp:14