code: def backward(ctx, grad_output):
      input, target, tau_z = ctx.saved_tensors
      sparsemax_out = torch.clamp(input - tau_z, min=0)
      delta = torch.zeros_like(sparsemax_out)
      delta.scatter_(1, target.unsqueeze(1), 1)
      return sparsemax_out - delta, None
  
file_path: OpenNMT-py/onmt/modules/sparse_losses.py
imports: import torch
  import torch.nn
  from torch.autograd import Function
  from torch.cuda.amp import custom_fwd, custom_bwd
  from onmt.modules.sparse_activations import _threshold_and_support
label_desc: Use image node_id 2 for calling the SparsemaxLossFunction obj's underlying member method code with example usage: obj.backward(ctx, grad_output) and returns: unknown,  None