class_docstr: Split a `Tensor` event along an axis into a list of `Tensor`s.
  
  Example Use:
  
  ```python
  split = tfb.Split(
      num_or_size_splits=[4, 1, 3],
      axis=-1
    )
  y = split.forward(tf.zeros([5, 6, 8]))
  ==> [<`Tensor`, shape=(5, 6, 4)>,
       <`Tensor`, shape=(5, 6, 1)>,
       <`Tensor`, shape=(5, 6, 3)>]
  
  # The inverse of `split` concatenates a list of `Tensor`s along `axis`.
  x_ = split.inverse(y)
  x_.shape
  ==> TensorShape([5, 6, 8])
  ```
class_docstr_tok: ["Split","a","`","Tensor","`","event","along","an","axis","into","a","list","of","`","Tensor","`","s",".","Example","Use",":","``","`","python","split","=","tfb.Split","(","num_or_size_splits=","[","4",",","1",",","3","]",",","axis=-1",")","y","=","split.forward","(","tf.zeros","(","[","5",",","6",",","8","]",")",")","==",">","[","<","`","Tensor","`",",","shape=","(","5",",","6",",","4",")",">",",","<","`","Tensor","`",",","shape=","(","5",",","6",",","1",")",">",",","<","`","Tensor","`",",","shape=","(","5",",","6",",","3",")",">","]","#","The","inverse","of","`","split","`","concatenates","a","list","of","`","Tensor","`","s","along","`","axis","`",".","x_","=","split.inverse","(","y",")","x_.shape","==",">","TensorShape","(","[","5",",","6",",","8","]",")","``","`"]
docstr: Returns the forward `Bijector` evaluation, i.e., X = g(Y).
  
  Equivalent to `tf.split(x)`.
  
  Args:
    x: `Tensor`. The input to the 'forward' evaluation.
  
  Returns:
    List of `Tensor`s.
  
  Raises:
    ValueError: if the sum of `split_sizes` does not equal the size of the
      `axis` dimension of `x`.
docstr_tok: ["Returns","the","forward","`","Bijector","`","evaluation",",","i.e.",",","X","=","g","(","Y",")",".","Equivalent","to","`","tf.split","(","x",")","`",".","Args",":","x",":","`","Tensor","`",".","The","input","to","the","'forward","'","evaluation",".","Returns",":","List","of","`","Tensor","`","s",".","Raises",":","ValueError",":","if","the","sum","of","`","split_sizes","`","does","not","equal","the","size","of","the","`","axis","`","dimension","of","`","x","`","."]
code: def _forward(self, x):
      """Returns the forward `Bijector` evaluation, i.e., X = g(Y).
  
      Equivalent to `tf.split(x)`.
  
      Args:
        x: `Tensor`. The input to the 'forward' evaluation.
  
      Returns:
        List of `Tensor`s.
  
      Raises:
        ValueError: if the sum of `split_sizes` does not equal the size of the
          `axis` dimension of `x`.
      """
      # Validate `x` statically if possible and get assertions.
      is_validated = self._validate_input_shape(x.shape)
      if is_validated or not self.validate_args:
          assertions = []
      else:
          assertions = self._validate_input_shape_tensor(ps.shape(x))
  
      with tf.control_dependencies(assertions):
          if self.split_sizes is None:
              return tf.split(x, self.num_splits, axis=self.axis)
          return tf.split(x, self.split_sizes, axis=self.axis)
  
imports: import numbers
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.internal import tensorshape_util
label_desc: Use image node_id 8 for calling the Split obj's underlying member method code with example usage: obj._forward(x) and returns: tf, tf