code: def test_gather_v2_zero_bsize_grad_has_matching_shapes(self):
      params = array_ops.zeros(
          shape=[0, 1, 8, 16], dtype=dtypes.float64
      )
      indices = array_ops.zeros(shape=[0, 1, 3], dtype=dtypes.int32)
  
      def f(params):
          return array_ops.gather_v2(
              params, indices, axis=2, batch_dims=2
          )
  
      grads = backprop.gradients_function(f)(params)
      self.assertLen(grads, 1)
      self.assertAllEqual(params.shape, grads[0].shape)
  
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 gradient_checker_v2
  from tensorflow.python.platform import test
label_desc: Use image node_id 9 for calling the ArrayGradTest obj's underlying member method code with example usage: obj.test_gather_v2_zero_bsize_grad_has_matching_shapes() and returns: array_ops