code: def test_lstm(
      self,
      use_cpu_only,
      backend,
      rank,
      units,
      activation,
      recurrent_activation,
      use_bias,
      return_sequences,
  ):
      shape = np.random.randint(low=1, high=4, size=rank)
      model = tf.keras.Sequential(
          [
              tf.keras.layers.LSTM(
                  batch_input_shape=shape,
                  units=units,
                  activation=activation,
                  recurrent_activation=recurrent_activation,
                  use_bias=use_bias,
                  return_sequences=return_sequences,
              ),
          ]
      )
      run_compare_tf_keras(
          model,
          [random_gen(shape, rand_min=-1, rand_max=1)],
          use_cpu_only=use_cpu_only,
          backend=backend,
      )
  
imports: import random
  from coremltools.converters.mil import testing_reqs
  from coremltools.converters.mil.frontend.tensorflow2.test.testing_utils import run_compare_tf_keras
  from coremltools.converters.mil.testing_reqs import *
label_desc: Use image node_id 1 for calling the TestRecurrent obj's underlying member method code with example usage: obj.test_lstm(use_cpu_only, backend, rank, units, activation, recurrent_activation, use_bias, return_sequences) without return types