def METHOD_NAME(grad_inputs, inputs, input_shapes, outputs, output_shapes, output_size, mode, align_corners=True,
                         half_pixel=False, half_pixel_for_nn=False, channel_last=False):
    """
    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.
    """
    dy = grad_inputs[0]
    x0_shape = input_shapes[0]
    ctx = nn.get_current_context()
    df = InterpolateDataGrad(ctx, output_size, mode, align_corners,
                             half_pixel, half_pixel_for_nn, channel_last)
    df.xshape = x0_shape
    dx0 = df(dy)
    return dx0