class_docstr: LSTM cell with layer normalization and recurrent dropout.
  
  This class adds layer normalization and recurrent dropout to a 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 based on:
  
    https://arxiv.org/abs/1603.05118
  
  "Recurrent Dropout without Memory Loss"
  Stanislau Semeniuta, Aliaksei Severyn, Erhardt Barth.
  
  Example:
  
  >>> inputs = np.random.random([30,23,9]).astype(np.float32)
  >>> lnLSTMCell = tfa.rnn.LayerNormLSTMCell(4)
  >>> rnn = tf.keras.layers.RNN(lnLSTMCell, return_sequences=True, return_state=True)
  >>> outputs, memory_state, carry_state = rnn(inputs)
  >>> outputs.shape
  TensorShape([30, 23, 4])
  >>> memory_state.shape
  TensorShape([30, 4])
  >>> carry_state.shape
  TensorShape([30, 4])
class_docstr_tok: ["LSTM","cell","with","layer","normalization","and","recurrent","dropout",".","This","class","adds","layer","normalization","and","recurrent","dropout","to","a","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","based","on",":","https",":","\/\/arxiv.org\/abs\/1603.05118","''","Recurrent","Dropout","without","Memory","Loss","''","Stanislau","Semeniuta",",","Aliaksei","Severyn",",","Erhardt","Barth",".","Example",":",">",">",">","inputs","=","np.random.random","(","[","30,23,9","]",")",".astype","(","np.float32",")",">",">",">","lnLSTMCell","=","tfa.rnn.LayerNormLSTMCell","(","4",")",">",">",">","rnn","=","tf.keras.layers.RNN","(","lnLSTMCell",",","return_sequences=True",",","return_state=True",")",">",">",">","outputs",",","memory_state",",","carry_state","=","rnn","(","inputs",")",">",">",">","outputs.shape","TensorShape","(","[","30",",","23",",","4","]",")",">",">",">","memory_state.shape","TensorShape","(","[","30",",","4","]",")",">",">",">","carry_state.shape","TensorShape","(","[","30",",","4","]",")"]
code: def call(self, inputs, states, training=None):
      h_tm1 = states[0]  # previous memory state
      c_tm1 = states[1]  # previous carry state
  
      dp_mask = self.get_dropout_mask_for_cell(
          inputs, training, count=4
      )
      rec_dp_mask = self.get_recurrent_dropout_mask_for_cell(
          h_tm1, training, count=4
      )
      if 0.0 < self.dropout < 1.0:
          inputs *= dp_mask[0]
      z = self.kernel_norm(keras.backend.dot(inputs, self.kernel))
  
      if 0.0 < self.recurrent_dropout < 1.0:
          h_tm1 *= rec_dp_mask[0]
      z += self.recurrent_norm(
          keras.backend.dot(h_tm1, self.recurrent_kernel)
      )
      if self.use_bias:
          z = keras.backend.bias_add(z, self.bias)
  
      z = tf.split(z, num_or_size_splits=4, axis=1)
      c, o = self._compute_carry_and_output_fused(z, c_tm1)
      c = self.state_norm(c)
      h = o * self.activation(c)
      return h, [h, c]
  
file_path: addons/tensorflow_addons/rnn/layer_norm_lstm_cell.py
imports: import tensorflow
  import tensorflow.keras
  from typeguard import typechecked
  from tensorflow_addons.utils.types import Activation, FloatTensorLike, TensorLike, Initializer, Constraint, Regularizer
label_desc: Use image node_id 3 for calling the LayerNormLSTMCell obj's underlying member method code with example usage: obj.call(inputs, states, training) and returns: h,  list