class_docstr: Associative Embedding Loss.
  
  More details can be found in
  `Associative Embedding <https://arxiv.org/abs/1611.05424>`_ and
  `CornerNet <https://arxiv.org/abs/1808.01244>`_ .
  Code is modified from `kp_utils.py <https://github.com/princeton-vl/CornerNet/blob/master/models/py_utils/kp_utils.py#L180>`_  # noqa: E501
  
  Args:
      pull_weight (float): Loss weight for corners from same object.
      push_weight (float): Loss weight for corners from different object.
code: def __init__(self, pull_weight=0.25, push_weight=0.25):
      super(AssociativeEmbeddingLoss, self).__init__()
      self.pull_weight = pull_weight
      self.push_weight = push_weight
  
file_path: insightface/detection/scrfd/mmdet/models/losses/ae_loss.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  from ..builder import LOSSES
label_desc: Use image node_id 1 to create a new AssociativeEmbeddingLoss object from inherited base classes: nn with example: obj = AssociativeEmbeddingLoss(pull_weight, push_weight)