class_docstr: The benchmark base class.
  
  The ``run`` method is an external calling interface, and it will
  call the ``run_once`` method ``repeat_num`` times for benchmarking.
  Finally, call the ``average_multiple_runs`` method to further process
  the results of multiple runs.
  
  Args:
      max_iter (int): maximum iterations of benchmark.
      log_interval (int): interval of logging.
      num_warmup (int): Number of Warmup.
      logger (MMLogger, optional): Formatted logger used to record messages.
class_docstr_tok: ["The","benchmark","base","class",".","The","``","run","``","method","is","an","external","calling","interface",",","and","it","will","call","the","``","run_once","``","method","``","repeat_num","``","times","for","benchmarking",".","Finally",",","call","the","``","average_multiple_runs","``","method","to","further","process","the","results","of","multiple","runs",".","Args",":","max_iter","(","int",")",":","maximum","iterations","of","benchmark",".","log_interval","(","int",")",":","interval","of","logging",".","num_warmup","(","int",")",":","Number","of","Warmup",".","logger","(","MMLogger",",","optional",")",":","Formatted","logger","used","to","record","messages","."]
docstr: Executes the benchmark once.
docstr_tok: ["Executes","the","benchmark","once","."]
code: def run_once(self) -> dict:
      """Executes the benchmark once."""
      raise NotImplementedError()
  
imports: import copy
  import time
  from functools import partial
  from typing import List, Optional, Union
  import numpy
  import torch
  import torch.nn
  from mmcv.cnn import fuse_conv_bn
  from mmengine import MMLogger
  from mmengine.config import Config
  from mmengine.device import get_max_cuda_memory
  from mmengine.dist import get_world_size
  from mmengine.runner import Runner, load_checkpoint
  from mmengine.utils.dl_utils import set_multi_processing
  from torch.nn.parallel import DistributedDataParallel
  from mmdet.registry import DATASETS, MODELS
label_desc: Use image node_id 3 for calling the BaseBenchmark obj's underlying member method code with example usage: obj.run_once() without return types