def METHOD_NAME(grad_inputs, inputs, input_shapes, outputs, output_shapes, base_axis=1, pad=None, stride=None,
                                     dilation=None, group=1, channel_last=False, output_padding=None):
    """
    Args:
      grad_inputs (list of :obj:`nnabla.Variable`): Propagated grads to this backward function.
      inputs (list of :obj:`nnabla.Variable` and None): Input Variables of the forward function
          if this backward function depends on it. Otherwise, None is set instead.
      input_shapes (list of tuple of :obj:`int`): Input shapes of the forward function.
          The shapes of the inputs in which None is set can be passed.
      outputs (list of :obj:`nnabla.Variable` and None): Output Variables of the forward function
          if this backward function depends on it. Otherwise, None is set instead.
      output_shapes (list of tuple of :obj:`int`): Output shapes of the forward function.
          The shapes of the outputs in which None is set can be passed.
      kwargs (dict of arguments): Dictionary of the corresponding function arguments.
    Return:
      list of Variable: Return the gradients wrt inputs of the corresponding function.
    """
    gdx = grad_inputs[0]
    dy = inputs[0]
    w0 = inputs[1]
    ctx = nn.get_current_context()
    dfw = DeconvolutionFilterGrad(
        ctx, base_axis, pad, stride, dilation, group, channel_last, output_padding)
    dfw.wshape = w0.shape
    gdy = F.deconvolution(gdx, w0, None, base_axis, pad,
                          stride, dilation, group, channel_last, output_padding)
    gw0 = dfw(dy, gdx)
    return gdy, gw0