code: def testCompatibleNames(self):
      with self.session(use_gpu=True, graph=tf.Graph()):
          cell = rnn_cell.LSTMCell(10)
          pcell = rnn_cell.LSTMCell(10, use_peepholes=True)
          inputs = [tf.zeros([4, 5])] * 6
          tf.nn.static_rnn(
              cell, inputs, dtype=tf.float32, scope="basic"
          )
          tf.nn.static_rnn(
              pcell, inputs, dtype=tf.float32, scope="peephole"
          )
          basic_names = {
              v.name: v.get_shape() for v in tf.trainable_variables()
          }
  
      with self.session(use_gpu=True, graph=tf.Graph()):
          cell = contrib_rnn.LSTMBlockCell(10)
          pcell = contrib_rnn.LSTMBlockCell(10, use_peephole=True)
          inputs = [tf.zeros([4, 5])] * 6
          tf.nn.static_rnn(
              cell, inputs, dtype=tf.float32, scope="basic"
          )
          tf.nn.static_rnn(
              pcell, inputs, dtype=tf.float32, scope="peephole"
          )
          block_names = {
              v.name: v.get_shape() for v in tf.trainable_variables()
          }
  
      self.assertEqual(basic_names, block_names)
  
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 3 for calling the LSTMBlockCellTest obj's underlying member method code with example usage: obj.testCompatibleNames() without return types