code: def testHigherRankParamsAndIndices(self):
      with self.session():
          shape = (10, 20, 5, 1, 17)
          params = np.random.rand(*shape)
          indices = np.vstack(
              [np.random.randint(0, s, size=2000) for s in shape]
          ).T
          indices_reshaped = indices.reshape([10, 10, 20, 5])
          gather_nd_t = array_ops.gather_nd(params, indices_reshaped)
          gather_nd_val = self.evaluate(gather_nd_t)
  
      expected = params[tuple(indices.T)]
      self.assertAllEqual(expected.reshape([10, 10, 20]), gather_nd_val)
      self.assertEqual([10, 10, 20], gather_nd_t.get_shape())
  
imports: import time
  import numpy
  from tensorflow.python.client import session
  from tensorflow.python.eager import context
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import indexed_slices
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import ref_variable
  from tensorflow.python.ops import resource_variable_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import test
label_desc: Use image node_id 11 for calling the GatherNdTest obj's underlying member method code with example usage: obj.testHigherRankParamsAndIndices() without return types