code: def cli(sys_argv):
      parser = argparse.ArgumentParser(
          description="This script runs a ludwig experiment on datasets specified in the benchmark config and exports "
          "the experiment artifact for each of the datasets following the export parameters specified in"
          "the benchmarking config.",
          prog="ludwig benchmark",
          usage="%(prog)s [options]",
      )
      parser.add_argument(
          "--benchmarking_config",
          type=str,
          help="The benchmarking config.",
      )
      add_contrib_callback_args(parser)
      args = parser.parse_args(sys_argv)
      benchmark(args.benchmarking_config)
  
file_path: ludwig/ludwig/benchmarking/benchmark.py
imports: import argparse
  import importlib
  import logging
  import os
  import shutil
  from typing import Any, Dict, Tuple, Union
  import ludwig.datasets
  from ludwig.api import LudwigModel
  from ludwig.benchmarking.artifacts import BenchmarkingResult, build_benchmarking_result
  from ludwig.benchmarking.profiler_callbacks import LudwigProfilerCallback
  from ludwig.benchmarking.utils import create_default_config, delete_hyperopt_outputs, delete_model_checkpoints, export_artifacts, load_from_module, populate_benchmarking_config_with_defaults, propagate_global_parameters, save_yaml, validate_benchmarking_config
  from ludwig.contrib import add_contrib_callback_args
  from ludwig.hyperopt.run import hyperopt
  from ludwig.utils.data_utils import load_yaml
label_desc: Use image node_id 4 for calling a global function with example usage: cli(sys_argv) without return types