code: def test_rank_3_and_axis_0(self):
      axis = 0
      params = np.random.randint(10, 100, size=(4, 5, 6))
      indices = np.random.randint(0, params.shape[axis], size=(3, 5, 6))
  
      result = util.index_remapping_gather(params, indices)
      self.assertAllEqual(
          indices.shape[: axis + 1] + params.shape[axis + 1 :],
          result.shape,
      )
      result_ = self.evaluate(result)
  
      for i in range(indices.shape[0]):
          for j in range(params.shape[1]):
              for k in range(params.shape[2]):
                  self.assertEqual(
                      params[indices[i, j, k], j, k], result_[i, j, k]
                  )
  
imports: import collections
  import warnings
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import lognormal
  from tensorflow_probability.python.distributions import mvn_tril
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.mcmc.internal import util
label_desc: Use image node_id 3 for calling the IndexRemappingGatherTest obj's underlying member method code with example usage: obj.test_rank_3_and_axis_0() without return types