code: def _test(self, input_shape, **kwargs):
      # Use negative numbers to make sure there isn't any zero padding getting
      # used.
      x = (
          -np.arange(np.prod(input_shape), dtype=np.float32).reshape(
              input_shape
          )
          - 1
      )
      y1 = pool_direct(input=x, **kwargs)
      y2 = nn_ops.pool(input=x, **kwargs)
      self.assertAllClose(y1, self.evaluate(y2), rtol=1e-2, atol=1e-2)
  
imports: import math
  import numpy
  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 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 1 for calling the PoolingTest obj's underlying member method code with example usage: obj._test(input_shape) without return types