class_docstr: Layer-Norm, with Ortho Init. and Recurrent Dropout without Memory Loss.
  
  https://arxiv.org/abs/1607.06450 - Layer Norm
  https://arxiv.org/abs/1603.05118 - Recurrent Dropout without Memory Loss
class_docstr_tok: ["Layer-Norm",",","with","Ortho","Init",".","and","Recurrent","Dropout","without","Memory","Loss",".","https",":","\/\/arxiv.org\/abs\/1607.06450","-","Layer","Norm","https",":","\/\/arxiv.org\/abs\/1603.05118","-","Recurrent","Dropout","without","Memory","Loss"]
code: def __call__(self, x, state, timestep=0, scope=None):
      with tf.variable_scope(scope or type(self).__name__):
          h, c = tf.split(state, 2, 1)
  
          h_size = self.num_units
          x_size = x.get_shape().as_list()[1]
          batch_size = x.get_shape().as_list()[0]
  
          w_init = None  # uniform
  
          h_init = lstm_ortho_initializer(1.0)
  
          w_xh = tf.get_variable(
              "W_xh", [x_size, 4 * self.num_units], initializer=w_init
          )
          w_hh = tf.get_variable(
              "W_hh",
              [self.num_units, 4 * self.num_units],
              initializer=h_init,
          )
  
          concat = tf.concat([x, h], 1)  # concat for speed.
          w_full = tf.concat([w_xh, w_hh], 0)
          concat = tf.matmul(
              concat, w_full
          )  # + bias # live life without garbage.
  
          # i = input_gate, j = new_input, f = forget_gate, o = output_gate
          concat = layer_norm_all(
              concat, batch_size, 4, h_size, "ln_all"
          )
          i, j, f, o = tf.split(concat, 4, 1)
  
          if self.use_recurrent_dropout:
              g = tf.nn.dropout(tf.tanh(j), self.dropout_keep_prob)
          else:
              g = tf.tanh(j)
  
          new_c = (
              c * tf.sigmoid(f + self.forget_bias) + tf.sigmoid(i) * g
          )
          new_h = tf.tanh(
              layer_norm(new_c, h_size, "ln_c")
          ) * tf.sigmoid(o)
  
      return new_h, tf.concat([new_h, new_c], 1)
  
imports: import numpy
  import tensorflow.compat.v1
label_desc: Use image node_id 6 for calling the LayerNormLSTMCell obj's underlying member method code with example usage: obj.__call__(x, state, timestep, scope) and returns: new_h,  tf