class_docstr: LSTM unit with layer normalization and recurrent dropout.
  
  This class adds layer normalization and recurrent dropout to a
  basic LSTM unit. Layer normalization implementation is based on:
  
    https://arxiv.org/abs/1607.06450.
  
  "Layer Normalization"
  Jimmy Lei Ba, Jamie Ryan Kiros, Geoffrey E. Hinton
  
  and is applied before the internal nonlinearities.
  Recurrent dropout is base on:
  
    https://arxiv.org/abs/1603.05118
  
  "Recurrent Dropout without Memory Loss"
  Stanislau Semeniuta, Aliaksei Severyn, Erhardt Barth.
class_docstr_tok: ["LSTM","unit","with","layer","normalization","and","recurrent","dropout",".","This","class","adds","layer","normalization","and","recurrent","dropout","to","a","basic","LSTM","unit",".","Layer","normalization","implementation","is","based","on",":","https",":","\/\/arxiv.org\/abs\/1607.06450",".","``","Layer","Normalization","''","Jimmy","Lei","Ba",",","Jamie","Ryan","Kiros",",","Geoffrey","E.","Hinton","and","is","applied","before","the","internal","nonlinearities",".","Recurrent","dropout","is","base","on",":","https",":","\/\/arxiv.org\/abs\/1603.05118","''","Recurrent","Dropout","without","Memory","Loss","''","Stanislau","Semeniuta",",","Aliaksei","Severyn",",","Erhardt","Barth","."]
docstr: Initializes the basic LSTM cell.
  
  Args:
    num_units: int, The number of units in the LSTM cell.
    forget_bias: float, The bias added to forget gates (see above).
    input_size: Deprecated and unused.
    activation: Activation function of the inner states.
    layer_norm: If `True`, layer normalization will be applied.
    norm_gain: float, The layer normalization gain initial value. If
      `layer_norm` has been set to `False`, this argument will be ignored.
    norm_shift: float, The layer normalization shift initial value. If
      `layer_norm` has been set to `False`, this argument will be ignored.
    dropout_keep_prob: unit Tensor or float between 0 and 1 representing the
      recurrent dropout probability value. If float and 1.0, no dropout will
      be applied.
    dropout_prob_seed: (optional) integer, the randomness seed.
    reuse: (optional) Python boolean describing whether to reuse variables
      in an existing scope.  If not `True`, and the existing scope already has
      the given variables, an error is raised.
docstr_tok: ["Initializes","the","basic","LSTM","cell",".","Args",":","num_units",":","int",",","The","number","of","units","in","the","LSTM","cell",".","forget_bias",":","float",",","The","bias","added","to","forget","gates","(","see","above",")",".","input_size",":","Deprecated","and","unused",".","activation",":","Activation","function","of","the","inner","states",".","layer_norm",":","If","`","True","`",",","layer","normalization","will","be","applied",".","norm_gain",":","float",",","The","layer","normalization","gain","initial","value",".","If","`","layer_norm","`","has","been","set","to","`","False","`",",","this","argument","will","be","ignored",".","norm_shift",":","float",",","The","layer","normalization","shift","initial","value",".","If","`","layer_norm","`","has","been","set","to","`","False","`",",","this","argument","will","be","ignored",".","dropout_keep_prob",":","unit","Tensor","or","float","between","0","and","1","representing","the","recurrent","dropout","probability","value",".","If","float","and","1.0",",","no","dropout","will","be","applied",".","dropout_prob_seed",":","(","optional",")","integer",",","the","randomness","seed",".","reuse",":","(","optional",")","Python","boolean","describing","whether","to","reuse","variables","in","an","existing","scope",".","If","not","`","True","`",",","and","the","existing","scope","already","has","the","given","variables",",","an","error","is","raised","."]
code: def __init__(
      self,
      num_units,
      forget_bias=1.0,
      input_size=None,
      activation=tf.math.tanh,
      layer_norm=True,
      norm_gain=1.0,
      norm_shift=0.0,
      dropout_keep_prob=1.0,
      dropout_prob_seed=None,
      reuse=None,
  ):
      """Initializes the basic LSTM cell.
  
      Args:
        num_units: int, The number of units in the LSTM cell.
        forget_bias: float, The bias added to forget gates (see above).
        input_size: Deprecated and unused.
        activation: Activation function of the inner states.
        layer_norm: If `True`, layer normalization will be applied.
        norm_gain: float, The layer normalization gain initial value. If
          `layer_norm` has been set to `False`, this argument will be ignored.
        norm_shift: float, The layer normalization shift initial value. If
          `layer_norm` has been set to `False`, this argument will be ignored.
        dropout_keep_prob: unit Tensor or float between 0 and 1 representing the
          recurrent dropout probability value. If float and 1.0, no dropout will
          be applied.
        dropout_prob_seed: (optional) integer, the randomness seed.
        reuse: (optional) Python boolean describing whether to reuse variables
          in an existing scope.  If not `True`, and the existing scope already has
          the given variables, an error is raised.
      """
      super(LayerNormBasicLSTMCell, self).__init__(_reuse=reuse)
  
      if input_size is not None:
          tf.logging.warn(
              "%s: The input_size parameter is deprecated.", self
          )
  
      self._num_units = num_units
      self._activation = activation
      self._forget_bias = forget_bias
      self._keep_prob = dropout_keep_prob
      self._seed = dropout_prob_seed
      self._layer_norm = layer_norm
      self._norm_gain = norm_gain
      self._norm_shift = norm_shift
      self._reuse = reuse
  
imports: import tensorflow.compat.v1
  import tf_slim
  from tensorflow.python.ops import gen_nn_ops
label_desc: Use image node_id 1 to create a new LayerNormBasicLSTMCell object from inherited base classes: rnn_cell with example: obj = LayerNormBasicLSTMCell(num_units, forget_bias, input_size, activation, layer_norm, norm_gain, norm_shift, dropout_keep_prob, dropout_prob_seed, reuse)