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: LSTM cell with layer normalization and recurrent dropout.
docstr_tok: ["LSTM","cell","with","layer","normalization","and","recurrent","dropout","."]
code: def call(self, inputs, state):
      """LSTM cell with layer normalization and recurrent dropout."""
      c, h = state
      args = tf.concat([inputs, h], 1)
      concat = self._linear(args)
      dtype = args.dtype
  
      i, j, f, o = tf.split(value=concat, num_or_size_splits=4, axis=1)
      if self._layer_norm:
          i = self._norm(i, "input", dtype=dtype)
          j = self._norm(j, "transform", dtype=dtype)
          f = self._norm(f, "forget", dtype=dtype)
          o = self._norm(o, "output", dtype=dtype)
  
      g = self._activation(j)
      if (
          not isinstance(self._keep_prob, float)
      ) or self._keep_prob < 1:
          g = tf.nn.dropout(g, self._keep_prob, seed=self._seed)
  
      new_c = (
          c * tf.math.sigmoid(f + self._forget_bias)
          + tf.math.sigmoid(i) * g
      )
      if self._layer_norm:
          new_c = self._norm(new_c, "state", dtype=dtype)
      new_h = self._activation(new_c) * tf.math.sigmoid(o)
  
      new_state = rnn_cell.LSTMStateTuple(new_c, new_h)
      return new_h, new_state
  
imports: import tensorflow.compat.v1
  import tf_slim
  from tensorflow.python.ops import gen_nn_ops
label_desc: Use image node_id 6 for calling the LayerNormBasicLSTMCell obj's underlying member method code with example usage: obj.call(inputs, state) and returns: new_h,  new_state