code: def main():
      args = parse_args()
      logger = MMLogger.get_instance(name="MMLogger")
      result = inference(args, logger)
      split_line = "=" * 30
      ori_shape = result["ori_shape"]
      pad_shape = result["pad_shape"]
      flops = result["flops"]
      params = result["params"]
      compute_type = result["compute_type"]
  
      if pad_shape != ori_shape:
          print(
              f"{split_line}\nUse size divisor set input shape "
              f"from {ori_shape} to {pad_shape}"
          )
      print(
          f"{split_line}\nCompute type: {compute_type}\n"
          f"Input shape: {pad_shape}\nFlops: {flops}\n"
          f"Params: {params}\n{split_line}"
      )
      print(
          "!!!Please be cautious if you use the results in papers. "
          "You may need to check if all ops are supported and verify "
          "that the flops computation is correct."
      )
  
file_path: mmdetection/tools/analysis_tools/get_flops.py
imports: import argparse
  import tempfile
  from functools import partial
  from pathlib import Path
  import numpy
  import torch
  from mmengine.config import Config, DictAction
  from mmengine.logging import MMLogger
  from mmengine.model import revert_sync_batchnorm
  from mmengine.registry import init_default_scope
  from mmengine.runner import Runner
  from mmengine.utils import digit_version
  from mmdet.registry import MODELS
label_desc: Use image node_id 3 for calling a global function with example usage: main() without return types