class_docstr: Base class of pooling function over a set of 2d planes.
class_docstr_tok: ["Base","class","of","pooling","function","over","a","set","of","2d","planes","."]
code: def backward_gpu(self, x, gy):
      # Implementation using cudnn
      x = x[0]
      y = self.get_retained_outputs()[0].array
      gx = cudnn.pooling_backward(
          x,
          y,
          gy[0],
          (self.kh, self.kw),
          (self.sy, self.sx),
          (self.ph, self.pw),
          self._get_pool_mode(),
      )
      return (gx,)
  
file_path: chainer/chainer/functions/pooling/pooling_2d.py
imports: from chainer.backends import cuda
  from chainer import function_node
  from chainer.utils import collections_abc
  from chainer.utils import conv
  from chainer.utils import type_check
label_desc: Use image node_id 4 for calling the Pooling2D obj's underlying member method code with example usage: obj.backward_gpu(x, gy) and returns: gx