code: def prelu_backward(
      grad_inputs,
      inputs,
      input_shapes,
      outputs,
      output_shapes,
      base_axis=1,
  ):
      """
      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 = inputs[0]
      w0 = inputs[1]
  
      base_axis += x0.ndim * (base_axis < 0)
      m0 = F.greater_scalar(x0, 0)
      m1 = 1 - m0
      m0 = no_grad(m0)
      m1 = no_grad(m1)
      if w0.shape == ():  # shared
          reshape = [1 for i in range(len(x0.shape))]
          w0 = F.reshape(w0, reshape, inplace=False)
          dw0 = F.sum(dy * x0 * m1)
      else:
          reshape = [
              w0.shape[0] if i == base_axis else 1
              for i in range(len(x0.shape))
          ]
          w0 = F.reshape(w0, reshape, inplace=False)
          raxes = [i for i in range(len(x0.shape)) if i != base_axis]
          dw0 = F.sum(dy * x0 * m1, raxes, keepdims=False)
      dx0 = dy * (m0 + w0 * m1)
      return dx0, dw0
  
label_desc: Use image node_id 1 for calling a global function with example usage: prelu_backward(grad_inputs, inputs, input_shapes, outputs, output_shapes, base_axis) and returns: dx0,  dw0