parameters: (
      X: NodeInput,
      initial_hidden_state: NodeInput,
      initial_cell_state: NodeInput,
      sequence_lengths: NodeInput,
      W: NodeInput,
      R: NodeInput,
      B: NodeInput,
      hidden_size: int,
      direction: str,
      activations: List[str] = None,
      activations_alpha: List[float] = None,
      activations_beta: List[float] = None,
      clip: float = 0.0,
      name: Optional[str] = None,
  )
return_statement: return _get_node_factory().create("LSTMSequence", node_inputs, attributes)
docstring: Return a node which performs LSTMSequence operation.
  
      :param X: The input tensor. Shape: [seq_length, batch_size, input_size].
      :param initial_hidden_state:    The hidden state tensor.
                                      Shape: [num_directions, batch_size, hidden_size].
      :param initial_cell_state:      The cell state tensor.
                                      Shape: [num_directions, batch_size, hidden_size].
      :param sequence_lengths:        Specifies real sequence lengths for each batch element.
                                      Shape: [batch_size]. Integer type.
      :param W: Tensor with weights for matrix multiplication operation with input portion of data.
                Shape: [num_directions, 4*hidden_size, input_size].
      :param R: The tensor with weights for matrix multiplication operation with hidden state.
                Shape: [num_directions, 4*hidden_size, input_size].
      :param B: The tensor with biases.
                Shape: [num_directions, 4*hidden_size, hidden_size].
      :param hidden_size: Specifies hidden state size.
      :param direction: Specifies if the RNN is forward, reverse, or bidirectional.
      :param activations: The list of three activation functions for gates.
      :param activations_alpha: The list of alpha parameters for activation functions.
      :param activations_beta: The list of beta parameters for activation functions.
      :param clip: Specifies bound values [-C, C] for tensor clipping performed before activations.
      :param name: An optional name of the output node.
  
      :return: The new node represents LSTMSequence. Node outputs count: 3.
docstring_summary: Return a node which performs LSTMSequence operation.
docstring_tokens: Return a node which performs LSTMSequence operation .
function: def lstm_sequence(
      X: NodeInput,
      initial_hidden_state: NodeInput,
      initial_cell_state: NodeInput,
      sequence_lengths: NodeInput,
      W: NodeInput,
      R: NodeInput,
      B: NodeInput,
      hidden_size: int,
      direction: str,
      activations: List[str] = None,
      activations_alpha: List[float] = None,
      activations_beta: List[float] = None,
      clip: float = 0.0,
      name: Optional[str] = None,
  ) -> Node:
      """Return a node which performs LSTMSequence operation.
  
      :param X: The input tensor. Shape: [seq_length, batch_size, input_size].
      :param initial_hidden_state:    The hidden state tensor.
                                      Shape: [num_directions, batch_size, hidden_size].
      :param initial_cell_state:      The cell state tensor.
                                      Shape: [num_directions, batch_size, hidden_size].
      :param sequence_lengths:        Specifies real sequence lengths for each batch element.
                                      Shape: [batch_size]. Integer type.
      :param W: Tensor with weights for matrix multiplication operation with input portion of data.
                Shape: [num_directions, 4*hidden_size, input_size].
      :param R: The tensor with weights for matrix multiplication operation with hidden state.
                Shape: [num_directions, 4*hidden_size, input_size].
      :param B: The tensor with biases.
                Shape: [num_directions, 4*hidden_size, hidden_size].
      :param hidden_size: Specifies hidden state size.
      :param direction: Specifies if the RNN is forward, reverse, or bidirectional.
      :param activations: The list of three activation functions for gates.
      :param activations_alpha: The list of alpha parameters for activation functions.
      :param activations_beta: The list of beta parameters for activation functions.
      :param clip: Specifies bound values [-C, C] for tensor clipping performed before activations.
      :param name: An optional name of the output node.
  
      :return: The new node represents LSTMSequence. Node outputs count: 3.
      """
      if activations is None:
          activations = ["sigmoid", "tanh", "tanh"]
      if activations_alpha is None:
          activations_alpha = []
      if activations_beta is None:
          activations_beta = []
  
      node_inputs = as_nodes(X, initial_hidden_state, initial_cell_state, sequence_lengths, W, R, B)
  
      # P - nGraph additional input, no such input in the OV spec
      peepholes_count = 3  # nGraph default
      if direction.lower() == "bidirectional":
          num_directions = 2
      else:
          num_directions = 1
      peepholes_shape = [num_directions, peepholes_count * hidden_size]
      peepholes_array = np.zeros(peepholes_shape)  # nGraph default
      data_dtype = get_dtype(node_inputs[0].get_output_element_type(0))
      default_P = make_constant_node(peepholes_array, dtype=data_dtype)
      node_inputs.append(default_P)
  
      weights_format = "fico"  # IE LSTMWeightsFormat, no such attribute in the OV spec
      input_forget = False  # nGraph default, no such attribute in the OV spec
  
      attributes = {
          "hidden_size": hidden_size,
          "direction": direction.lower(),
          "activations": activations,
          "activations_alpha": activations_alpha,
          "activations_beta": activations_beta,
          "clip": clip,
          "weights_format": weights_format,
          "input_forget": input_forget,
      }
      return _get_node_factory().create("LSTMSequence", node_inputs, attributes)
function_tokens: def lstm_sequence ( X : NodeInput , initial_hidden_state : NodeInput , initial_cell_state : NodeInput , sequence_lengths : NodeInput , W : NodeInput , R : NodeInput , B : NodeInput , hidden_size : int , direction : str , activations : List [ str ] = None , activations_alpha : List [ float ] = None , activations_beta : List [ float ] = None , clip : float = 0.0 , name : Optional [ str ] = None , ) -> Node : if activations is None : activations = [ "sigmoid" , "tanh" , "tanh" ] if activations_alpha is None : activations_alpha = [ ] if activations_beta is None : activations_beta = [ ] node_inputs = as_nodes ( X , initial_hidden_state , initial_cell_state , sequence_lengths , W , R , B ) # P - nGraph additional input, no such input in the OV spec peepholes_count = 3 # nGraph default if direction . lower ( ) == "bidirectional" : num_directions = 2 else : num_directions = 1 peepholes_shape = [ num_directions , peepholes_count * hidden_size ] peepholes_array = np . zeros ( peepholes_shape ) # nGraph default data_dtype = get_dtype ( node_inputs [ 0 ] . get_output_element_type ( 0 ) ) default_P = make_constant_node ( peepholes_array , dtype = data_dtype ) node_inputs . append ( default_P ) weights_format = "fico" # IE LSTMWeightsFormat, no such attribute in the OV spec input_forget = False # nGraph default, no such attribute in the OV spec attributes = { "hidden_size" : hidden_size , "direction" : direction . lower ( ) , "activations" : activations , "activations_alpha" : activations_alpha , "activations_beta" : activations_beta , "clip" : clip , "weights_format" : weights_format , "input_forget" : input_forget , } return _get_node_factory ( ) . create ( "LSTMSequence" , node_inputs , attributes )