code: def unpooling_nd(
      x, ksize, stride=None, pad=0, outsize=None, cover_all=True
  ):
      """Inverse operation of N-dimensional spatial pooling.
  
      .. warning::
  
          This feature is experimental. The interface can change in the future.
  
      This function acts similarly to
      :class:`~functions.connection.deconvolution_nd.DeconvolutionND`, but
      it spreads input N-dimensional array's value without any parameter instead
      of computing the inner products.
  
      Args:
          x (~chainer.Variable): Input variable.
          ksize (int or pair of ints): Size of pooling window
              :math:`(k_1, k_2, ..., k_N)`. ``ksize=k`` is equivalent to
              ``(k, k, ..., k)``.
          stride (int, pair of ints or None): Stride of pooling applications
              :math:`(s_1, s_2, ..., s_N)`. ``stride=s`` is equivalent to
              ``(s, s, ..., s)``. If ``None`` is specified, then it uses same
              stride as the pooling window size.
          pad (int or pair of ints): Spatial padding width for the input array
              :math:`(p_1, p_2, ..., p_N)`. ``pad=p`` is equivalent to
              ``(p, p, ..., p)``.
          outsize (None or pair of ints): Expected output size of unpooling
              operation :math:`(out_1, out_2, ..., out_N)`. If ``None``, the size
              is estimated from input size, stride and padding.
          cover_all (bool): If ``True``, the pooling window is assumed to cover
              all of the output array, eventually the output size may be smaller
              than that in the case ``cover_all`` is ``False``.
  
      Returns:
          ~chainer.Variable: Output variable.
  
      """
      ndim = len(x.shape[2:])
      return UnpoolingND(
          ndim, ksize, stride, pad, outsize, cover_all
      ).apply((x,))[0]
  
imports: import numpy
  import six
  from chainer import backend
  from chainer import function_node
  from chainer.functions.pooling import pooling_nd
  from chainer.utils import conv
  from chainer.utils import conv_nd
  from chainer.utils import type_check
label_desc: Use image node_id 1 for calling a global function with example usage: unpooling_nd(x, ksize, stride, pad, outsize, cover_all) and returns: UnpoolingND