docstr: Test different shapes of input tensor.
  
  Mainly test different combinations of num_rows and num_cols.
code: def testDifferentTensorShapes(self):
      """Test different shapes of input tensor.
  
      Mainly test different combinations of num_rows and num_cols.
      """
      pseudo_random = True
      overlapping = True
      for num_batches in [1, 3]:
          for num_channels in [1, 3]:
              for num_rows in [10, 20, 50]:
                  for num_cols in [10, 20, 50]:
                      tensor_shape = (
                          num_batches,
                          num_rows,
                          num_cols,
                          num_channels,
                      )
                      # random tensor with value in [-500.0, 500.0)
                      rand_mat = (
                          self._PRNG.random_sample(tensor_shape) * 1000
                          - 500
                      )
                      self._ValidateFractionalAvgPoolResult(
                          rand_mat,
                          [1, math.sqrt(3), math.sqrt(2), 1],
                          pseudo_random,
                          overlapping,
                      )
  
imports: import math
  import numpy
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import gen_nn_ops
  from tensorflow.python.ops import gradient_checker
  from tensorflow.python.ops import nn_ops
  import tensorflow.python.ops.nn_grad
  from tensorflow.python.platform import test
label_desc: Use image node_id 8 for calling the FractionalAvgTest obj's underlying member method code with example usage: obj.testDifferentTensorShapes() without return types