class_docstr: This class computes the loss for SparseRCNN.
  The process happens in two steps:
      1) we compute hungarian assignment between ground truth boxes and the outputs of the model
      2) we supervise each pair of matched ground-truth / prediction (supervise class and box)
class_docstr_tok: ["This","class","computes","the","loss","for","SparseRCNN",".","The","process","happens","in","two","steps",":","1",")","we","compute","hungarian","assignment","between","ground","truth","boxes","and","the","outputs","of","the","model","2",")","we","supervise","each","pair","of","matched","ground-truth","\/","prediction","(","supervise","class","and","box",")"]
code: def get_loss(
      self, loss, outputs, targets, indices, num_boxes, **kwargs
  ):
      loss_map = {
          "labels": self.loss_labels,
          "boxes": self.loss_boxes,
      }
      assert (
          loss in loss_map
      ), f"do you really want to compute {loss} loss?"
      return loss_map[loss](
          outputs, targets, indices, num_boxes, **kwargs
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from scipy.optimize import linear_sum_assignment
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle.metric import accuracy
  from ppdet.core.workspace import register
  from ppdet.modeling.losses.iou_loss import GIoULoss
label_desc: Use image node_id 6 for calling the SparseRCNNLoss obj's underlying member method code with example usage: obj.get_loss(loss, outputs, targets, indices, num_boxes) and returns: loss_map