code: def __init__(self, unpooling2d):
      self.kh = unpooling2d.kh
      self.kw = unpooling2d.kw
      self.sy = unpooling2d.sy
      self.sx = unpooling2d.sx
      self.ph = unpooling2d.ph
      self.pw = unpooling2d.pw
      self.outh = unpooling2d.outh
      self.outw = unpooling2d.outw
      self.cover_all = unpooling2d.cover_all
      self._use_int_scale_forward = unpooling2d._use_int_scale_forward
  
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 1 to create a new Unpooling2DGrad object from inherited base classes: function_node with example: obj = Unpooling2DGrad(unpooling2d)