code: def testMaxPool3DZeroPoolSize(self):
      # Test case for GitHub issue 51936.
      for f in [nn_ops.max_pool3d, nn_ops.avg_pool3d]:
          with self.session():
              with self.assertRaises(
                  (errors.InvalidArgumentError, ValueError)
              ):
                  input_sizes = [3, 4, 10, 11, 12]
  
                  input_data = 1.0
                  input_tensor = constant_op.constant(
                      input_data, shape=input_sizes, name="input"
                  )
                  pool_3d = f(
                      input_tensor,
                      ksize=[2, 2, 0],
                      strides=1,
                      padding="VALID",
                  )
                  self.evaluate(pool_3d)
  
imports: import numpy
  from tensorflow.python.eager import backprop
  from tensorflow.python.eager import context
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import errors_impl
  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_v2
  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 37 for calling the PoolingTest obj's underlying member method code with example usage: obj.testMaxPool3DZeroPoolSize() without return types