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 RegionYolo layer
18 class INFERENCE_ENGINE_API_CLASS(RegionYoloLayer): public LayerDecorator {
21 * @brief The constructor creates a builder with the name
22 * @param name Layer name
24 explicit RegionYoloLayer(const std::string& name = "");
26 * @brief The constructor creates a builder from generic builder
27 * @param layer pointer to generic builder
29 explicit RegionYoloLayer(const Layer::Ptr& layer);
31 * @brief The constructor creates a builder from generic builder
32 * @param layer constant pointer to generic builder
34 explicit RegionYoloLayer(const Layer::CPtr& layer);
36 * @brief Sets the name for the layer
37 * @param name Layer name
38 * @return reference to layer builder
40 RegionYoloLayer& 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 RegionYoloLayer& 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 RegionYoloLayer& setOutputPort(const Port& port);
65 * @brief Returns number of coordinates for each region
66 * @return Number of coordinates
68 int getCoords() const;
70 * @brief Sets number of coordinates for each region
71 * @param coords Number of coordinates
72 * @return reference to layer builder
74 RegionYoloLayer& setCoords(int coords);
76 * @brief Returns number of classes for each region
77 * @return Number of classes
79 int getClasses() const;
81 * @brief Sets number of classes for each region
82 * @param classes number of classes
83 * @return reference to layer builder
85 RegionYoloLayer& setClasses(int classes);
87 * @brief Returns number of regions
88 * @return Number of regions
92 * @brief Sets number of regions
93 * @param num Number of regions
94 * @return reference to layer builder
96 RegionYoloLayer& setNum(int num);
98 * @brief Returns a flag which specifies the method of infer
99 * @return true if softmax is performed
101 bool getDoSoftMax() const;
103 * @brief Sets a flag which specifies the method of infer
104 * @param flag softmax is performed if true
105 * @return reference to layer builder
107 RegionYoloLayer& setDoSoftMax(bool flag);
109 * @brief Returns anchors coordinates of regions
110 * @return anchors coordinates
112 float getAnchors() const;
114 * @brief Sets anchors coordinates of regions
115 * @param anchors Anchors coordinates
116 * @return reference to layer builder
118 RegionYoloLayer& setAnchors(float anchors);
120 * @brief Returns mask
126 * @param mask Specifies which anchors to use
127 * @return reference to layer builder
129 RegionYoloLayer& setMask(int mask);
131 * @brief Returns the number of the dimension from which flattening is performed
134 size_t getAxis() const;
136 * @brief Sets the number of the dimension from which flattening is performed
138 * @return reference to layer builder
140 RegionYoloLayer& setAxis(size_t axis);
142 * @brief Returns the number of the dimension on which flattening is ended
145 size_t getEndAxis() const;
147 * @brief Sets the number of the dimension on which flattening is ended
148 * @param axis End axis
149 * @return reference to layer builder
151 RegionYoloLayer& setEndAxis(size_t axis);
154 } // namespace Builder
155 } // namespace InferenceEngine