class_docstr: PPYOLOE network, see https://arxiv.org/abs/2203.16250
  
  Args:
      backbone (nn.Layer): backbone instance
      neck (nn.Layer): neck instance
      yolo_head (nn.Layer): anchor_head instance
      post_process (object): `BBoxPostProcess` instance
      ssod_loss (object): 'SSODPPYOLOELoss' instance, only used for semi-det(ssod)
      for_distill (bool): whether for distillation
      feat_distill_place (str): distill which feature for distillation
      for_mot (bool): whether return other features for multi-object tracking
          models, default False in pure object detection models.
code: def __init__(
      self,
      backbone="CSPResNet",
      neck="CustomCSPPAN",
      yolo_head="PPYOLOEHead",
      post_process="BBoxPostProcess",
      ssod_loss="SSODPPYOLOELoss",
      for_distill=False,
      feat_distill_place="neck_feats",
      for_mot=False,
  ):
      super(PPYOLOE, self).__init__()
      self.backbone = backbone
      self.neck = neck
      self.yolo_head = yolo_head
      self.post_process = post_process
      self.for_mot = for_mot
  
      # for ssod, semi-det
      self.is_teacher = False
      self.ssod_loss = ssod_loss
  
      # distill
      self.for_distill = for_distill
      self.feat_distill_place = feat_distill_place
      if for_distill:
          assert feat_distill_place in ["backbone_feats", "neck_feats"]
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import copy
  import paddle
  from ppdet.core.workspace import register, create
  from .meta_arch import BaseArch
label_desc: Use image node_id 1 to create a new PPYOLOE object from inherited base classes: BaseArch with example: obj = PPYOLOE(backbone, neck, yolo_head, post_process, ssod_loss, for_distill, feat_distill_place, for_mot)