code: def test_default_event_space_bijector(self):
      # pylint: disable=bad-whitespace
      d = jdn.JointDistributionNamed(
          dict(
              e=independent.Independent(
                  exponential.Exponential(rate=[100, 120]), 1
              ),
              scale=lambda e: gamma.Gamma(  # pylint: disable=g-long-lambda
                  concentration=e[..., 0], rate=e[..., 1]
              ),
              s=half_normal.HalfNormal(2.5),
              loc=lambda s: normal.Normal(loc=0, scale=s),
              df=exponential.Exponential(2),
              x=student_t.StudentT,
          ),
          validate_args=True,
      )
      # pylint: enable=bad-whitespace
  
      # The event space bijector is inherited from `JointDistributionSequential`
      # and is tested more thoroughly in the tests for that class.
      b = d.experimental_default_event_space_bijector()
      y = self.evaluate(d.sample(seed=test_util.test_seed()))
      y_ = self.evaluate(b.forward(b.inverse(y)))
      self.assertAllCloseNested(y, y_)
  
      # Verify that event shapes are passed through and flattened/unflattened
      # correctly.
      forward_event_shapes = b.forward_event_shape(d.event_shape)
      inverse_event_shapes = b.inverse_event_shape(d.event_shape)
      self.assertEqual(forward_event_shapes, d.event_shape)
      self.assertEqual(inverse_event_shapes, d.event_shape)
  
      # Verify that the outputs of other methods have the correct dict structure.
      forward_event_shape_tensors = b.forward_event_shape_tensor(
          d.event_shape_tensor()
      )
      inverse_event_shape_tensors = b.inverse_event_shape_tensor(
          d.event_shape_tensor()
      )
      for item in [
          forward_event_shape_tensors,
          inverse_event_shape_tensors,
      ]:
          self.assertSetEqual(
              set(self.evaluate(item).keys()), set(d.model.keys())
          )
  
imports: import collections
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector_test_util
  from tensorflow_probability.python.bijectors import scale
  from tensorflow_probability.python.distributions import bernoulli
  from tensorflow_probability.python.distributions import beta
  from tensorflow_probability.python.distributions import exponential
  from tensorflow_probability.python.distributions import gamma
  from tensorflow_probability.python.distributions import half_normal
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import joint_distribution_named
  from tensorflow_probability.python.distributions import joint_distribution_sequential
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import lognormal
  from tensorflow_probability.python.distributions import mvn_diag
  from tensorflow_probability.python.distributions import normal
  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.internal import test_util
label_desc: Use image node_id 21 for calling the JointDistributionNamedTest obj's underlying member method code with example usage: obj.test_default_event_space_bijector() without return types