1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
7 #include <builders/ie_layer_decorator.hpp>
8 #include <ie_network.hpp>
12 namespace InferenceEngine {
16 * @brief The class represents a builder for ArgMax layer
18 class INFERENCE_ENGINE_API_CLASS(ConvolutionLayer): public LayerDecorator {
21 * @brief The constructor creates a builder with the name
22 * @param name Layer name
24 explicit ConvolutionLayer(const std::string& name = "");
26 * @brief The constructor creates a builder from generic builder
27 * @param layer pointer to generic builder
29 explicit ConvolutionLayer(const Layer::Ptr& layer);
31 * @brief The constructor creates a builder from generic builder
32 * @param layer constant pointer to generic builder
34 explicit ConvolutionLayer(const Layer::CPtr& layer);
36 * @brief Sets the name for the layer
37 * @param name Layer name
38 * @return reference to layer builder
40 ConvolutionLayer& setName(const std::string& name);
43 * @brief Returns input port
46 const Port& getInputPort() const;
48 * @brief Sets input port
49 * @param port Input port
50 * @return reference to layer builder
52 ConvolutionLayer& setInputPort(const Port& port);
54 * @brief Returns output port
57 const Port& getOutputPort() const;
59 * @brief Sets output port
60 * @param port Output port
61 * @return reference to layer builder
63 ConvolutionLayer& setOutputPort(const Port& port);
65 * @brief Returns kernel size
68 const std::vector<size_t> getKernel() const;
70 * @brief Sets kernel size
71 * @param kernel Kernel size
72 * @return reference to layer builder
74 ConvolutionLayer& setKernel(const std::vector<size_t>& kernel);
76 * @brief Returns vector of strides
77 * @return vector of strides
79 const std::vector<size_t> getStrides() const;
82 * @param strides vector of strides
83 * @return reference to layer builder
85 ConvolutionLayer& setStrides(const std::vector<size_t>& strides);
87 * @brief Returns dilations
88 * @return vector of dilations
90 const std::vector<size_t> getDilation() const;
92 * @brief Sets dilations
93 * @param dilation Vector of dilations
94 * @return reference to layer builder
96 ConvolutionLayer& setDilation(const std::vector<size_t>& dilation);
98 * @brief Returns begin paddings
99 * @return vector of paddings
101 const std::vector<size_t> getPaddingsBegin() const;
103 * @brief Sets begin paddings
104 * @param paddings Vector of paddings
105 * @return reference to layer builder
107 ConvolutionLayer& setPaddingsBegin(const std::vector<size_t>& paddings);
109 * @brief Return end paddings
110 * @return Vector of paddings
112 const std::vector<size_t> getPaddingsEnd() const;
114 * @brief Sets end paddings
115 * @param paddings Vector of paddings
116 * @return reference to layer builder
118 ConvolutionLayer& setPaddingsEnd(const std::vector<size_t>& paddings);
120 * @brief Returns group
123 size_t getGroup() const;
127 * @return reference to layer builder
129 ConvolutionLayer& setGroup(size_t group);
131 * @brief Return output depth
132 * @return Output depth
134 size_t getOutDepth() const;
136 * @brief Sets output depth
137 * @param outDepth Output depth
138 * @return reference to layer builder
140 ConvolutionLayer& setOutDepth(size_t outDepth);
143 } // namespace Builder
144 } // namespace InferenceEngine