code: def testTooFewChains(self, use_static_shape, criterion_fn):
      state = tf1.placeholder_with_default(
          [[0.1, 0.2]], shape=[1, 2] if use_static_shape else None
      )
      accept_prob = tf1.placeholder_with_default(
          [1.0], shape=[1] if use_static_shape else None
      )
      with self.assertRaisesRegex(
          Exception, "chees_criterion requires at least 2 chains"
      ):
          self.evaluate(
              gbtla.chees_criterion(
                  state, state, accept_prob, 1.0, validate_args=True
              )
          )
  
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 4 for calling the GradientBasedTrajectoryLengthAdaptationTestGeneric obj's underlying member method code with example usage: obj.testTooFewChains(use_static_shape, criterion_fn) without return types