code: def testLSTMBlockCell(self):
      with self.session(use_gpu=True, graph=tf.Graph()) as sess:
          with tf.variable_scope(
              "root", initializer=tf.constant_initializer(0.5)
          ):
              x = tf.zeros([1, 2])
              m0 = tf.zeros([1, 2])
              m1 = tf.zeros([1, 2])
              m2 = tf.zeros([1, 2])
              m3 = tf.zeros([1, 2])
              g, (
                  (out_m0, out_m1),
                  (out_m2, out_m3),
              ) = rnn_cell.MultiRNNCell(
                  [contrib_rnn.LSTMBlockCell(2) for _ in range(2)],
                  state_is_tuple=True,
              )(
                  x, ((m0, m1), (m2, m3))
              )
              sess.run([tf.global_variables_initializer()])
              res = sess.run(
                  [g, out_m0, out_m1, out_m2, out_m3],
                  {
                      x.name: np.array([[1.0, 1.0]]),
                      m0.name: 0.1 * np.ones([1, 2]),
                      m1.name: 0.1 * np.ones([1, 2]),
                      m2.name: 0.1 * np.ones([1, 2]),
                      m3.name: 0.1 * np.ones([1, 2]),
                  },
              )
              self.assertLen(res, 5)
              self.assertAllClose(res[0], [[0.24024698, 0.24024698]])
              # These numbers are from testBasicLSTMCell and only test c/h.
              self.assertAllClose(res[1], [[0.68967271, 0.68967271]])
              self.assertAllClose(res[2], [[0.44848421, 0.44848421]])
              self.assertAllClose(res[3], [[0.39897051, 0.39897051]])
              self.assertAllClose(res[4], [[0.24024698, 0.24024698]])
  
imports: import itertools
  from absl.testing import parameterized
  from magenta.contrib import rnn
  import numpy
  import tensorflow.compat.v1
label_desc: Use image node_id 2 for calling the LSTMBlockCellTest obj's underlying member method code with example usage: obj.testLSTMBlockCell() without return types