ie_permute_layer.hpp
1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4 
5 #pragma once
6 
7 #include <builders/ie_layer_decorator.hpp>
8 #include <string>
9 #include <vector>
10 
11 namespace InferenceEngine {
12 namespace Builder {
13 
14 /**
15  * @deprecated Use ngraph API instead.
16  * @brief The class represents a builder for Permute layer
17  */
18 IE_SUPPRESS_DEPRECATED_START
19 class INFERENCE_ENGINE_NN_BUILDER_API_CLASS(PermuteLayer): public LayerDecorator {
20 public:
21  /**
22  * @brief The constructor creates a builder with the name
23  * @param name Layer name
24  */
25  explicit PermuteLayer(const std::string& name = "");
26  /**
27  * @brief The constructor creates a builder from generic builder
28  * @param layer pointer to generic builder
29  */
30  explicit PermuteLayer(const Layer::Ptr& layer);
31  /**
32  * @brief The constructor creates a builder from generic builder
33  * @param layer constant pointer to generic builder
34  */
35  explicit PermuteLayer(const Layer::CPtr& layer);
36  /**
37  * @brief Sets the name for the layer
38  * @param name Layer name
39  * @return reference to layer builder
40  */
41  PermuteLayer& setName(const std::string& name);
42 
43  /**
44  * @brief Returns input port
45  * @return Input port
46  */
47  const Port& getInputPort() const;
48  /**
49  * @brief Sets input port
50  * @param port Input port
51  * @return reference to layer builder
52  */
53  PermuteLayer& setInputPort(const Port& port);
54  /**
55  * @brief Returns output port
56  * @return Output port
57  */
58  const Port& getOutputPort() const;
59  /**
60  * @brief Sets output port
61  * @param port Output port
62  * @return reference to layer builder
63  */
64  PermuteLayer& setOutputPort(const Port& port);
65  /**
66  * @brief Return vector of dimensions indexes for output blob
67  * @return Order of dimensions for output blob
68  */
69  const std::vector<size_t> getOrder() const;
70  /**
71  * @brief Sets the order of dimensions for output blob
72  * @param order dimensions indexes for output blob
73  * @return reference to layer builder
74  */
75  PermuteLayer& setOrder(const std::vector<size_t>& order);
76 };
77 IE_SUPPRESS_DEPRECATED_END
78 
79 } // namespace Builder
80 } // namespace InferenceEngine
Inference Engine API.
Definition: ie_argmax_layer.hpp:11