code: def _get_src_target_assign(self, src, target, match_indices):
      src_assign = paddle.concat(
          [
              paddle.gather(t, I, axis=0)
              if len(I) > 0
              else paddle.zeros([0, t.shape[-1]])
              for t, (I, _) in zip(src, match_indices)
          ]
      )
      target_assign = paddle.concat(
          [
              paddle.gather(t, J, axis=0)
              if len(J) > 0
              else paddle.zeros([0, t.shape[-1]])
              for t, (_, J) in zip(target, match_indices)
          ]
      )
      return src_assign, target_assign
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from ppdet.core.workspace import register
  from .iou_loss import GIoULoss
  from ..transformers import bbox_cxcywh_to_xyxy, sigmoid_focal_loss, varifocal_loss_with_logits
  from ..bbox_utils import bbox_iou
label_desc: Use image node_id 8 for calling the DETRLoss obj's underlying member method code with example usage: obj._get_src_target_assign(src, target, match_indices) and returns: src_assign,  target_assign