code: def testGradients(self, batch_size, channel_count):
      smaller_shape = [batch_size, 2, 3, channel_count]
      larger_shape = [batch_size, 5, 6, channel_count]
      for (
          in_shape,
          out_shape,
          align_corners,
          half_pixel_centers,
      ) in self._itGen(smaller_shape, larger_shape):
          jacob_a, jacob_n = self._getJacobians(
              in_shape, out_shape, align_corners, half_pixel_centers
          )
          threshold = 5e-3
          self.assertAllClose(jacob_a, jacob_n, threshold, threshold)
  
imports: from absl.testing import parameterized
  import numpy
  from tensorflow.python.eager import backprop
  from tensorflow.python.eager import context
  from tensorflow.python.framework import config
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors_impl
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops_stack
  from tensorflow.python.ops import gen_image_ops
  from tensorflow.python.ops import gradient_checker_v2
  from tensorflow.python.ops import image_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 4 for calling the ResizeBilinearOpTestBase obj's underlying member method code with example usage: obj.testGradients(batch_size, channel_count) without return types