class_docstr: Anchor generator for YOLO.
  
  Args:
      strides (list[int] | list[tuple[int, int]]): Strides of anchors
          in multiple feature levels.
      base_sizes (list[list[tuple[int, int]]]): The basic sizes
          of anchors in multiple levels.
docstr: Generate base anchors of a single level.
  
  Args:
      base_sizes_per_level (list[tuple[int, int]]): Basic sizes of
          anchors.
      center (tuple[float], optional): The center of the base anchor
          related to a single feature grid. Defaults to None.
  
  Returns:
      torch.Tensor: Anchors in a single-level feature maps.
code: def gen_single_level_base_anchors(
      self, base_sizes_per_level, center=None
  ):
      """Generate base anchors of a single level.
  
      Args:
          base_sizes_per_level (list[tuple[int, int]]): Basic sizes of
              anchors.
          center (tuple[float], optional): The center of the base anchor
              related to a single feature grid. Defaults to None.
  
      Returns:
          torch.Tensor: Anchors in a single-level feature maps.
      """
      x_center, y_center = center
      base_anchors = []
      for base_size in base_sizes_per_level:
          w, h = base_size
  
          # use float anchor and the anchor's center is aligned with the
          # pixel center
          base_anchor = torch.Tensor(
              [
                  x_center - 0.5 * w,
                  y_center - 0.5 * h,
                  x_center + 0.5 * w,
                  y_center + 0.5 * h,
              ]
          )
          base_anchors.append(base_anchor)
      base_anchors = torch.stack(base_anchors, dim=0)
  
      return base_anchors
  
imports: import mmcv
  import numpy
  import torch
  from torch.nn.modules.utils import _pair
  from .builder import ANCHOR_GENERATORS
label_desc: Use image node_id 4 for calling the YOLOAnchorGenerator obj's underlying member method code with example usage: obj.gen_single_level_base_anchors(base_sizes_per_level, center) and returns: base_anchors