code: def test_sample_distributions(self):
      def coroutine_model():
          g = yield normal.Normal(0.0, 1.0, name="g")
          df = yield exponential.Exponential(1.0, name="df")
          loc = yield normal.Normal(tf.zeros([20]), g, name="loc")
          yield student_t.StudentT(df, loc, 1, name="x")
  
      joint = jdab.JointDistributionCoroutineAutoBatched(
          coroutine_model
      )
  
      ds, xs = joint.sample_distributions(
          [4, 3], seed=test_util.test_seed()
      )
      for d, x in zip(ds, xs):
          self.assertGreaterEqual(len(d.batch_shape), 2)
          lp = d.log_prob(x)
          self.assertAllEqual(lp.shape[:2], [4, 3])
  
imports: import collections
  import os
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector_test_util
  from tensorflow_probability.python.bijectors import exp
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import bernoulli
  from tensorflow_probability.python.distributions import deterministic
  from tensorflow_probability.python.distributions import dirichlet
  from tensorflow_probability.python.distributions import exponential
  from tensorflow_probability.python.distributions import half_normal
  from tensorflow_probability.python.distributions import inverse_gamma
  from tensorflow_probability.python.distributions import joint_distribution_auto_batched
  from tensorflow_probability.python.distributions import joint_distribution_coroutine
  from tensorflow_probability.python.distributions import joint_distribution_named
  from tensorflow_probability.python.distributions import joint_distribution_sequential
  from tensorflow_probability.python.distributions import lognormal
  from tensorflow_probability.python.distributions import multinomial
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import poisson
  from tensorflow_probability.python.distributions import sample
  from tensorflow_probability.python.distributions import student_t
  from tensorflow_probability.python.distributions import transformed_distribution
  from tensorflow_probability.python.distributions import uniform
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.util import deferred_tensor
label_desc: Use image node_id 8 for calling the JointDistributionAutoBatchedTest obj's underlying member method code with example usage: obj.test_sample_distributions() without return types