code: def testStateMeanSNAPER(self):
      state = np.array([[0.1, 0.2]], self.dtype)
      accept_prob = np.ones([], self.dtype)
      # This doesn't fail because state_mean is provided externally.
      self.evaluate(
          gbtla.snaper_criterion(
              state,
              state,
              accept_prob,
              2.0,
              direction=tf.ones_like(state),
              state_mean=state,
              state_mean_weight=0.1,
          )
      )
  
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 2 for calling the _GradientBasedTrajectoryLengthAdaptationTest obj's underlying member method code with example usage: obj.testStateMeanSNAPER() without return types