code: def softmax_cross_entropy_backward(
      grad_inputs,
      inputs,
      input_shapes,
      outputs,
      output_shapes,
      axis=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.
      """
      # In auto-forward mode, the dynamic clear of inputs[0] and inputs[1] are
      # blocked by SoftmaxCrossEntropy::auto_grad_depends_input/output_data.
      dy = grad_inputs[0]
      x0 = inputs[0]
      t0 = inputs[1]
      x0_shape = input_shapes[0]
      t0_shape = input_shapes[1]
  
      D = len(x0_shape)
      axis = positive_axis(axis, D)
      c0 = x0_shape[axis]
      t0_shape = [s for s in t0_shape if s != 1]
      u0 = F.reshape(t0, (-1, 1), inplace=False)
      u1 = F.one_hot(u0, (c0,))
      to = F.reshape(
          u1,
          t0_shape
          + [
              c0,
          ],
      )
      t0 = no_grad(to)
      if axis != len(to.shape) - 1:
          oaxes = [i for i in range(len(t0_shape))]
          taxes = oaxes[:axis] + [to.ndim - 1] + oaxes[axis:]
          to = F.transpose(to, taxes)
      dx0 = dy * (F.softmax(x0, axis=axis) - to)
      return dx0, None
  
label_desc: Use image node_id 1 for calling a global function with example usage: softmax_cross_entropy_backward(grad_inputs, inputs, input_shapes, outputs, output_shapes, axis) and returns: dx0,  None