class_docstr: Shards a transition kernel across a named axis.
  
  Ordinarily, one can produce independent Markov chains from a single kernel by
  proving a batch of states but when using named axes inside of a map (say
  in the case of using JAX's `pmap`, `vmap`, or `xmap`), the kernel is provided
  with state without batch dimensions. In order to sample independently across
  the named axis, the PRNG seed across the named axis must be different. This
  can be accomplished by folding the named axis index into the random seed.
  A `Sharded` kernel does exactly this, creating independent chains across a
  named axis.
code: def bootstrap_results(self, init_state):
      return self.inner_kernel.bootstrap_results(init_state)
  
file_path: probability/tensorflow_probability/python/experimental/mcmc/sharded.py
imports: from tensorflow_probability.python.internal import distribute_lib
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.mcmc import kernel
label_desc: Use image node_id 2 for calling the Sharded obj's underlying member method code with example usage: obj.bootstrap_results(init_state) and returns: self