class_docstr: Computes matching between predictions and ground truth with dynamic soft
  label assignment.
  
  Args:
      soft_center_radius (float): Radius of the soft center prior.
          Defaults to 3.0.
      topk (int): Select top-k predictions to calculate dynamic k
          best matches for each gt. Defaults to 13.
      iou_weight (float): The scale factor of iou cost. Defaults to 3.0.
      iou_calculator (ConfigType): Config of overlaps Calculator.
          Defaults to dict(type='BboxOverlaps2D').
code: def __init__(
      self,
      soft_center_radius: float = 3.0,
      topk: int = 13,
      iou_weight: float = 3.0,
      iou_calculator: ConfigType = dict(type="BboxOverlaps2D"),
  ) -> None:
      self.soft_center_radius = soft_center_radius
      self.topk = topk
      self.iou_weight = iou_weight
      self.iou_calculator = TASK_UTILS.build(iou_calculator)
  
file_path: mmdetection/mmdet/models/task_modules/assigners/dynamic_soft_label_assigner.py
imports: from typing import Optional, Tuple
  import torch
  import torch.nn.functional
  from mmengine.structures import InstanceData
  from torch import Tensor
  from mmdet.registry import TASK_UTILS
  from mmdet.structures.bbox import BaseBoxes
  from mmdet.utils import ConfigType
  from .assign_result import AssignResult
  from .base_assigner import BaseAssigner
label_desc: Use image node_id 1 to create a new DynamicSoftLabelAssigner object from inherited base classes: BaseAssigner with example: obj = DynamicSoftLabelAssigner(soft_center_radius, topk, iou_weight, iou_calculator)