class_docstr: A meta-distribution meant for use in an SPMD distributed context.
  
  `Sharded` is a meta-distribution that enables distributions to be used in SPMD
  programs. A `Sharded` distribution represents a random variable that has
  been split across a set of devices. The number of shards is the number of
  devices in the current TensorFlow DistributionStrategy or the provided JAX
  pmap axis.
  
  In practice, `Sharded` modifies its input distribution in two ways.
  First, when a `Sharded` distribution is sampled, it first folds the current
  device ID into the input random seed, resulting in different samples on each
  device. Second, when computing the `log_prob` of a value, a `Sharded`
  distribution aggregates the log-prob over all devices, resulting in the same
  synchronized value.
class_docstr_tok: ["A","meta-distribution","meant","for","use","in","an","SPMD","distributed","context",".","`","Sharded","`","is","a","meta-distribution","that","enables","distributions","to","be","used","in","SPMD","programs",".","A","`","Sharded","`","distribution","represents","a","random","variable","that","has","been","split","across","a","set","of","devices",".","The","number","of","shards","is","the","number","of","devices","in","the","current","TensorFlow","DistributionStrategy","or","the","provided","JAX","pmap","axis",".","In","practice",",","`","Sharded","`","modifies","its","input","distribution","in","two","ways",".","First",",","when","a","`","Sharded","`","distribution","is","sampled",",","it","first","folds","the","current","device","ID","into","the","input","random","seed",",","resulting","in","different","samples","on","each","device",".","Second",",","when","computing","the","`","log_prob","`","of","a","value",",","a","`","Sharded","`","distribution","aggregates","the","log-prob","over","all","devices",",","resulting","in","the","same","synchronized","value","."]
code: def _default_event_space_bijector(self, *args, **kwargs):
      bij = self.distribution.experimental_default_event_space_bijector(
          *args, **kwargs
      )
      if bij is None:
          return None
      return sharded_bij.Sharded(
          bij, shard_axis_name=self.experimental_shard_axis_names
      )
  
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import log_prob_ratio
  from tensorflow_probability.python.experimental.bijectors import sharded
  from tensorflow_probability.python.internal import auto_composite_tensor
  from tensorflow_probability.python.internal import distribute_lib
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import samplers
label_desc: Use image node_id 12 for calling the Sharded obj's underlying member method code with example usage: obj._default_event_space_bijector() and returns: sharded_bij, None