code: def get_loss(self):
      batch_gt_class = self.inputs["gt_class"]
      batch_gt_box = self.inputs["gt_bbox"]
      batch_whwh = self.inputs["img_whwh"]
      targets = []
  
      for i in range(len(batch_gt_class)):
          boxes = batch_gt_box[i]
          labels = batch_gt_class[i].squeeze(-1)
          img_whwh = batch_whwh[i]
          img_whwh_tgt = img_whwh.unsqueeze(0).tile(
              [int(boxes.shape[0]), 1]
          )
          targets.append(
              {
                  "boxes": boxes,
                  "labels": labels,
                  "img_whwh": img_whwh,
                  "img_whwh_tgt": img_whwh_tgt,
              }
          )
  
      outputs = self._forward()
      loss_dict = self.head.get_loss(outputs, targets)
      acc = loss_dict["acc"]
      loss_dict.pop("acc")
      total_loss = sum(loss_dict.values())
      loss_dict.update({"loss": total_loss, "acc": acc})
      return loss_dict
  
file_path: PaddleDetection/ppdet/modeling/architectures/sparse_rcnn.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from ppdet.core.workspace import register, create
  from .meta_arch import BaseArch
label_desc: Use image node_id 4 for calling the SparseRCNN obj's underlying member method code with example usage: obj.get_loss() and returns: loss_dict