code: def testTupleShapes(self):
      def normal_sampler(seed):
          return tuple(
              normal.Normal(0, 1).sample(shp, seed=seed)
              for shp in [(8, 31, 3), (8,)]
          )
  
      params = normal_sampler(test_util.test_seed())
  
      def normal_log_likelihood(p0, p1):
          return tf.reduce_sum(
              normal.Normal(0, 1).log_prob(p0), axis=(-1, -2)
          ) + normal.Normal(0, 1).log_prob(p1)
  
      kernel = elliptical_slice_sampler.EllipticalSliceSampler(
          normal_sampler_fn=normal_sampler,
          log_likelihood_fn=normal_log_likelihood,
      )
      samples = tf.function(sample.sample_chain)(
          num_results=3,
          current_state=params,
          kernel=kernel,
          num_burnin_steps=int(4),
          seed=test_util.test_seed(),
          trace_fn=None,
      )
      self.evaluate(samples)
  
file_path: probability/tensorflow_probability/python/experimental/mcmc/elliptical_slice_sampler_test.py
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.experimental.mcmc import elliptical_slice_sampler
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.mcmc import sample
label_desc: Use image node_id 3 for calling the _EllipticalSliceSamplerTest obj's underlying member method code with example usage: obj.testTupleShapes() and returns: tuple, unknown