code: def backward(self, indexes, ggx):
      return Unpooling2D(
          (self.kh, self.kw),
          (self.sy, self.sx),
          (self.ph, self.pw),
          (self.outh, self.outw),
          self.cover_all,
      ).apply(ggx)
  
imports: import numpy
  import numpy.lib.stride_tricks
  from chainer import backend
  from chainer.backends import cuda
  from chainer import function_node
  from chainer.functions.pooling import pooling_2d
  from chainer.utils import conv
  from chainer.utils import type_check
label_desc: Use image node_id 4 for calling the Unpooling2DGrad obj's underlying member method code with example usage: obj.backward(indexes, ggx) and returns: Unpooling2D