class_docstr: This class computes an assignment between the targets and the
  predictions of the network For efficiency reasons, the targets don't
  include the no_object.
  
  Because of this, in general, there are more predictions than targets. In
  this case, we do a 1-to-k (dynamic) matching of the best predictions, while
  the others are un-matched (and thus treated as non-objects).
code: def __init__(
      self,
      match_costs: Union[
          List[Union[dict, ConfigDict]], dict, ConfigDict
      ],
      center_radius: float = 2.5,
      candidate_topk: int = 5,
      iou_calculator: ConfigType = dict(type="BboxOverlaps2D"),
      **kwargs,
  ):
      super().__init__()
  
      self.center_radius = center_radius
      self.candidate_topk = candidate_topk
  
      if isinstance(match_costs, dict):
          match_costs = [match_costs]
      elif isinstance(match_costs, list):
          assert (
              len(match_costs) > 0
          ), "match_costs must not be a empty list."
      self.use_focal_loss = False
      self.use_fed_loss = False
      for _match_cost in match_costs:
          if _match_cost.get("type") == "FocalLossCost":
              self.use_focal_loss = True
          if _match_cost.get("type") == "FedLoss":
              self.use_fed_loss = True
              raise NotImplementedError
  
      self.match_costs = [
          TASK_UTILS.build(match_cost) for match_cost in match_costs
      ]
      self.iou_calculator = TASK_UTILS.build(iou_calculator)
  
imports: from typing import List, Tuple, Union
  import torch
  import torch.nn
  from mmengine.config import ConfigDict
  from mmengine.structures import InstanceData
  from torch import Tensor
  from mmdet.registry import MODELS, TASK_UTILS
  from mmdet.structures.bbox import bbox_cxcywh_to_xyxy, bbox_xyxy_to_cxcywh
  from mmdet.utils import ConfigType
label_desc: Use image node_id 1 to create a new DiffusionDetMatcher object from inherited base classes: nn with example: obj = DiffusionDetMatcher(match_costs, center_radius, candidate_topk, iou_calculator)