code: def test_gather_nd(self):
      x = random_ops.random_uniform([3, 3, 3])
  
      def loop_fn(i):
          outputs = []
          x_i = array_ops.gather(x, i)
          outputs.append(array_ops.gather_nd(x_i, [0], batch_dims=0))
          outputs.append(array_ops.gather_nd(x_i, [i], batch_dims=0))
          outputs.append(
              array_ops.gather_nd(x_i, [[i], [i], [i]], batch_dims=1)
          )
          return outputs
  
      self._test_loop_fn(loop_fn, 3)
  
imports: from tensorflow.python.eager import backprop
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import array_ops_stack
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops import tensor_array_grad
  from tensorflow.python.ops.parallel_for import control_flow_ops
  from tensorflow.python.ops.parallel_for.test_util import PForTestCase
  from tensorflow.python.platform import test
label_desc: Use image node_id 2 for calling the ArrayTest obj's underlying member method code with example usage: obj.test_gather_nd() and returns: outputs