code: def testListState(self, criterion_fn):
      def target_log_prob_fn(x, y):
          return -(x**2) / 2 - y**2 / 2
  
      kernel = hmc.HamiltonianMonteCarlo(
          target_log_prob_fn=target_log_prob_fn,
          step_size=0.1,
          num_leapfrog_steps=1,
      )
      kernel = gbtla.GradientBasedTrajectoryLengthAdaptation(
          kernel,
          num_adaptation_steps=5,
          adaptation_rate=1.0,
          criterion_fn=criterion_fn,
          validate_args=True,
      )
  
      state = [tf.zeros([64], self.dtype), tf.zeros([64], self.dtype)]
      init_kernel_results = kernel.bootstrap_results(state)
      init_kernel_results, (_, final_kernel_results) = self.evaluate(
          [
              init_kernel_results,
              kernel.one_step(
                  state,
                  init_kernel_results,
                  seed=test_util.test_seed(sampler_type="stateless"),
              ),
          ]
      )
  
      # We expect it to move it a little bit.
      self.assertGreater(
          np.abs(
              init_kernel_results.max_trajectory_length
              - final_kernel_results.max_trajectory_length
          ),
          0.0005,
      )
  
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import exp
  from tensorflow_probability.python.bijectors import identity
  from tensorflow_probability.python.distributions import half_normal
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import joint_distribution_sequential
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import sample
  from tensorflow_probability.python.experimental.mcmc import gradient_based_trajectory_length_adaptation
  from tensorflow_probability.python.experimental.mcmc import preconditioned_hmc
  from tensorflow_probability.python.internal import distribute_lib
  from tensorflow_probability.python.internal import distribute_test_lib
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import generic
  from tensorflow_probability.python.mcmc import dual_averaging_step_size_adaptation
  from tensorflow_probability.python.mcmc import hmc
  from tensorflow_probability.python.mcmc import sample
  from tensorflow_probability.python.mcmc import transformed_kernel
label_desc: Use image node_id 5 for calling the _GradientBasedTrajectoryLengthAdaptationTest obj's underlying member method code with example usage: obj.testListState(criterion_fn) and returns: unknown