code: def testEventShape(self, num_or_size_splits, expected_split_sizes):
      split_sizes = self.build_input(num_or_size_splits)
      total_size = np.sum(expected_split_sizes)
      shape_in_static = tf.TensorShape([total_size, 2])
      shape_out_static = [
          tf.TensorShape([d, 2]) for d in expected_split_sizes
      ]
      bijector = split.Split(
          num_or_size_splits=split_sizes, axis=-2, validate_args=True
      )
  
      output_shape = [[None, 2]] * 3
      self.assertAllEqual(
          [
              s.as_list()
              for s in bijector.forward_event_shape(shape_in_static)
          ],
          output_shape,
      )
      self.assertEqual(
          bijector.inverse_event_shape(shape_out_static).as_list(),
          shape_in_static.as_list(),
      )
  
      self.assertAllEqual(
          [
              s.as_list()
              for s in bijector.forward_event_shape(
                  tf.TensorShape([total_size, None])
              )
          ],
          [[None, None]] * 3,
      )
      self.assertAllEqual(
          bijector.inverse_event_shape(
              [[None, 3], [3, 3], [2, 3]]
          ).as_list(),
          [None, 3],
      )
      self.assertAllEqual(
          bijector.inverse_event_shape(
              [[2, 3], [None, 3], [2, 3]]
          ).as_list(),
          [None, 3],
      )
  
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import split
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 4 for calling the SplitBijectorTestDynamic obj's underlying member method code with example usage: obj.testEventShape(num_or_size_splits, expected_split_sizes) without return types