code: def test_mcmc_funnel_docstring_example_runs(self):
      @jdab.JointDistributionCoroutineAutoBatched
      def model_with_funnel():
          z = yield normal.Normal(loc=-1.0, scale=2.0, name="z")
          x = yield normal.Normal(loc=[0.0], scale=tf.exp(z), name="x")
          yield poisson.Poisson(log_rate=x, name="y")
  
      pinned_model = model_with_funnel.experimental_pin(y=[1])
      surrogate_posterior = (
          automatic_structured_vi.build_asvi_surrogate_posterior(
              pinned_model
          )
      )
  
      optimization.fit_surrogate_posterior(
          pinned_model.unnormalized_log_prob,
          surrogate_posterior=surrogate_posterior,
          optimizer=tf_keras.optimizers.Adam(0.01),
          sample_size=10,
          num_steps=1,
      )
      bijector = distribution_bijectors.make_distribution_bijector(
          surrogate_posterior
      )
  
      @tf.function(autograph=False)
      def do_sample():
          return sample.sample_chain(
              kernel=dassa.DualAveragingStepSizeAdaptation(
                  transformed_kernel.TransformedTransitionKernel(
                      nuts.NoUTurnSampler(
                          pinned_model.unnormalized_log_prob,
                          step_size=0.1,
                      ),
                      bijector=bijector,
                  ),
                  num_adaptation_steps=5,
              ),
              current_state=surrogate_posterior.sample(),
              num_burnin_steps=5,
              trace_fn=lambda _0, _1: [],
              num_results=10,
          )
  
      do_sample()
  
imports: from absl.testing import parameterized
  import hypothesis
  from hypothesis import strategies
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import invert
  from tensorflow_probability.python.distributions import exponential
  from tensorflow_probability.python.distributions import hypothesis_testlib
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import joint_distribution_auto_batched
  from tensorflow_probability.python.distributions import markov_chain
  from tensorflow_probability.python.distributions import mvn_tril
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import poisson
  from tensorflow_probability.python.distributions import uniform
  from tensorflow_probability.python.experimental.bijectors import distribution_bijectors
  from tensorflow_probability.python.experimental.vi import automatic_structured_vi
  from tensorflow_probability.python.internal import hypothesis_testlib
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.internal import tf_keras
  from tensorflow_probability.python.math import gradient
  from tensorflow_probability.python.mcmc import dual_averaging_step_size_adaptation
  from tensorflow_probability.python.mcmc import nuts
  from tensorflow_probability.python.mcmc import sample
  from tensorflow_probability.python.mcmc import transformed_kernel
  from tensorflow_probability.python.vi import optimization
label_desc: Use image node_id 7 for calling the DistributionBijectorsTest obj's underlying member method code with example usage: obj.test_mcmc_funnel_docstring_example_runs() and returns: sample