code: def test_sharded_kernel_produces_independent_chains(self):
      def run(seed):
          kernel = sharded.Sharded(RandomWalk(), self.axis_name)
          state = tf.convert_to_tensor(0.0)
          kr = kernel.bootstrap_results(state)
          state, _ = kernel.one_step(state, kr, seed=seed)
          return state
  
      states = self.evaluate(
          self.per_replica_to_tensor(
              self.strategy_run(
                  run, args=(samplers.zeros_seed(),), in_axes=None
              )
          )
      )
      for i in range(distribute_test_lib.NUM_DEVICES):
          for j in range(i + 1, distribute_test_lib.NUM_DEVICES):
              self.assertNotAllClose(states[i], states[j])
  
file_path: probability/tensorflow_probability/python/experimental/mcmc/sharded_test.py
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.experimental.mcmc import sharded
  from tensorflow_probability.python.internal import distribute_test_lib
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.mcmc import kernel
label_desc: Use image node_id 1 for calling the ShardedTest obj's underlying member method code with example usage: obj.test_sharded_kernel_produces_independent_chains() and returns: state