class_docstr: FairMOT network, see http://arxiv.org/abs/2004.01888
  
  Args:
      detector (object): 'CenterNet' instance
      reid (object): 'FairMOTEmbeddingHead' instance
      tracker (object): 'JDETracker' instance
      loss (object): 'FairMOTLoss' instance
class_docstr_tok: ["FairMOT","network",",","see","http",":","\/\/arxiv.org\/abs\/2004.01888","Args",":","detector","(","object",")",":","'CenterNet","'","instance","reid","(","object",")",":","'FairMOTEmbeddingHead","'","instance","tracker","(","object",")",":","'JDETracker","'","instance","loss","(","object",")",":","'FairMOTLoss","'","instance"]
code: def _forward(self):
      loss = dict()
      # det_outs keys:
      # train: neck_feat, det_loss, heatmap_loss, size_loss, offset_loss (optional: iou_loss)
      # eval/infer: neck_feat, bbox, bbox_inds
      det_outs = self.detector(self.inputs)
      neck_feat = det_outs["neck_feat"]
      if self.training:
          reid_loss = self.reid(neck_feat, self.inputs)
  
          det_loss = det_outs["det_loss"]
          loss = self.loss(det_loss, reid_loss)
          for k, v in det_outs.items():
              if "loss" not in k:
                  continue
              loss.update({k: v})
          loss.update({"reid_loss": reid_loss})
          return loss
      else:
          pred_dets, pred_embs = self.reid(
              neck_feat,
              self.inputs,
              det_outs["bbox"],
              det_outs["bbox_inds"],
              det_outs["topk_clses"],
          )
          return pred_dets, pred_embs
  
file_path: PaddleDetection/ppdet/modeling/architectures/fairmot.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import paddle
  from ppdet.core.workspace import register, create
  from .meta_arch import BaseArch
label_desc: Use image node_id 3 for calling the FairMOT obj's underlying member method code with example usage: obj._forward() and returns: loss, pred_dets,  pred_embs