class_docstr: Base class for single-stage detectors.
  
  Single-stage detectors directly and densely predict bounding boxes on the
  output features of the backbone+neck.
docstr: Test function without test time augmentation.
  
  Args:
      imgs (list[torch.Tensor]): List of multiple images
      img_metas (list[dict]): List of image information.
      rescale (bool, optional): Whether to rescale the results.
          Defaults to False.
  
  Returns:
      list[list[np.ndarray]]: BBox results of each image and classes.
          The outer list corresponds to each image. The inner list
          corresponds to each class.
docstr_tok: ["Test","function","without","test","time","augmentation",".","Args",":","imgs","(","list","[","torch.Tensor","]",")",":","List","of","multiple","images","img_metas","(","list","[","dict","]",")",":","List","of","image","information",".","rescale","(","bool",",","optional",")",":","Whether","to","rescale","the","results",".","Defaults","to","False",".","Returns",":","list","[","list","[","np.ndarray","]","]",":","BBox","results","of","each","image","and","classes",".","The","outer","list","corresponds","to","each","image",".","The","inner","list","corresponds","to","each","class","."]
code: def simple_test(self, img, img_metas, rescale=False):
      """Test function without test time augmentation.
  
      Args:
          imgs (list[torch.Tensor]): List of multiple images
          img_metas (list[dict]): List of image information.
          rescale (bool, optional): Whether to rescale the results.
              Defaults to False.
  
      Returns:
          list[list[np.ndarray]]: BBox results of each image and classes.
              The outer list corresponds to each image. The inner list
              corresponds to each class.
      """
      x = self.extract_feat(img)
      outs = self.bbox_head(x)
      # print(len(outs))
      if torch.onnx.is_in_onnx_export():
          print("single_stage.py in-onnx-export")
          print(outs.__class__)
          cls_score, bbox_pred = outs
          for c in cls_score:
              print(c.shape)
          for c in bbox_pred:
              print(c.shape)
          # print(outs[0].shape, outs[1].shape)
          return outs
      bbox_list = self.bbox_head.get_bboxes(
          *outs, img_metas, rescale=rescale
      )
      # skip post-processing when exporting to ONNX
      if torch.onnx.is_in_onnx_export():
          return bbox_list
  
      bbox_results = [
          bbox2result(
              det_bboxes, det_labels, self.bbox_head.num_classes
          )
          for det_bboxes, det_labels in bbox_list
      ]
      return bbox_results
  
file_path: insightface/detection/scrfd/mmdet/models/detectors/single_stage.py
imports: import torch
  import torch.nn
  from mmdet.core import bbox2result
  from ..builder import DETECTORS, build_backbone, build_head, build_neck
  from .base import BaseDetector
label_desc: Use image node_id 6 for calling the SingleStageDetector obj's underlying member method code with example usage: obj.simple_test(img, img_metas, rescale) and returns: bbox_results, outs, bbox_list