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 LSTMSequence layer
18 class INFERENCE_ENGINE_API_CLASS(LSTMSequenceLayer): public LayerDecorator {
21 * @brief The constructor creates a builder with the name
22 * @param name Layer name
24 explicit LSTMSequenceLayer(const std::string& name = "");
26 * @brief The constructor creates a builder from generic builder
27 * @param layer pointer to generic builder
29 explicit LSTMSequenceLayer(const Layer::Ptr& layer);
31 * @brief The constructor creates a builder from generic builder
32 * @param layer constant pointer to generic builder
34 explicit LSTMSequenceLayer(const Layer::CPtr& layer);
36 * @brief Sets the name for the layer
37 * @param name Layer name
38 * @return reference to layer builder
40 LSTMSequenceLayer& setName(const std::string& name);
43 * @brief Returns input ports with shapes for the layer
44 * @return Vector of ports
46 const std::vector<Port>& getInputPorts() const;
48 * @brief Sets input ports for the layer
49 * @param ports vector of input ports
50 * @return reference to layer builder
52 LSTMSequenceLayer& setInputPorts(const std::vector<Port>& ports);
55 * @brief Returns output ports with shapes for the layer
56 * @return Vector of ports
58 const std::vector<Port>& getOutputPorts() const;
60 * @brief Sets output ports for the layer
61 * @param ports vector of output ports
62 * @return reference to layer builder
64 LSTMSequenceLayer& setOutputPorts(const std::vector<Port>& ports);
66 int getHiddenSize() const;
67 LSTMSequenceLayer& setHiddenSize(int size);
68 bool getSequenceDim() const;
69 LSTMSequenceLayer& setSqquenceDim(bool flag);
70 const std::vector<std::string>& getActivations() const;
71 LSTMSequenceLayer& setActivations(const std::vector<std::string>& activations);
72 const std::vector<float>& getActivationsAlpha() const;
73 LSTMSequenceLayer& setActivationsAlpha(const std::vector<float>& activations);
74 const std::vector<float>& getActivationsBeta() const;
75 LSTMSequenceLayer& setActivationsBeta(const std::vector<float>& activations);
76 float getClip() const;
77 LSTMSequenceLayer& setClip(float clip);
78 bool getInputForget() const;
79 LSTMSequenceLayer& setInputForget(bool flag);
80 const std::string& getDirection() const;
81 LSTMSequenceLayer& setDirection(const std::string& direction);
84 } // namespace Builder
85 } // namespace InferenceEngine