docstr: YOLOv3Loss layer
  
  Args:
      num_calsses (int): number of foreground classes
      ignore_thresh (float): threshold to ignore confidence loss
      label_smooth (bool): whether to use label smoothing
      downsample (list): downsample ratio for each detection block
      scale_x_y (float): scale_x_y factor
      iou_loss (object): IoULoss instance
      iou_aware_loss (object): IouAwareLoss instance  
docstr_tok: ["YOLOv3Loss","layer","Args",":","num_calsses","(","int",")",":","number","of","foreground","classes","ignore_thresh","(","float",")",":","threshold","to","ignore","confidence","loss","label_smooth","(","bool",")",":","whether","to","use","label","smoothing","downsample","(","list",")",":","downsample","ratio","for","each","detection","block","scale_x_y","(","float",")",":","scale_x_y","factor","iou_loss","(","object",")",":","IoULoss","instance","iou_aware_loss","(","object",")",":","IouAwareLoss","instance"]
code: def __init__(
      self,
      num_classes=80,
      ignore_thresh=0.7,
      label_smooth=False,
      downsample=[32, 16, 8],
      scale_x_y=1.0,
      iou_loss=None,
      iou_aware_loss=None,
  ):
      """
      YOLOv3Loss layer
  
      Args:
          num_calsses (int): number of foreground classes
          ignore_thresh (float): threshold to ignore confidence loss
          label_smooth (bool): whether to use label smoothing
          downsample (list): downsample ratio for each detection block
          scale_x_y (float): scale_x_y factor
          iou_loss (object): IoULoss instance
          iou_aware_loss (object): IouAwareLoss instance
      """
      super(YOLOv3Loss, self).__init__()
      self.num_classes = num_classes
      self.ignore_thresh = ignore_thresh
      self.label_smooth = label_smooth
      self.downsample = downsample
      self.scale_x_y = scale_x_y
      self.iou_loss = iou_loss
      self.iou_aware_loss = iou_aware_loss
      self.distill_pairs = []
  
file_path: PaddleDetection/ppdet/modeling/losses/yolo_loss.py
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 ..bbox_utils import decode_yolo, xywh2xyxy, batch_iou_similarity
label_desc: Use image node_id 1 to create a new YOLOv3Loss object from inherited base classes: nn with example: obj = YOLOv3Loss(num_classes, ignore_thresh, label_smooth, downsample, scale_x_y, iou_loss, iou_aware_loss)