code: def dropout_backward(
      grad_inputs,
      inputs,
      input_shapes,
      outputs,
      output_shapes,
      p=0.5,
      seed=-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.
      """
      # In auto-forward mode, the dynamic clear of inputs[0] is blocked by
      # Dropout::auto_grad_depends_input_data_impl.
  
      # y = Dropout(x)
      # dy: the back-propagated gradient of y
      # xy: the back-propagated gradient of x
      dy = grad_inputs[0]
      x = inputs[0]
  
      # Get mask to reproduce the random results of forward computation.
      # This variable is always prepared for dropout_backward because
      # GradEndFunction guarantees the computation order from dropout to
      # dropout_backward.
      mask = _get_dropout_mask(x)
      mask = no_grad(mask)
      # Protect mask before Dropout::backward uses and clear it.
      mask.persistent = True
  
      dx = dy * mask / (1 - p)
      return dx
  
label_desc: Use image node_id 1 for calling a global function with example usage: dropout_backward(grad_inputs, inputs, input_shapes, outputs, output_shapes, p, seed) and returns: dx