code: def cli_init_config(sys_argv):
      parser = argparse.ArgumentParser(
          description="This script initializes a valid config from a dataset.",
          prog="ludwig init_config",
          usage="%(prog)s [options]",
      )
      parser.add_argument(
          "-d",
          "--dataset",
          type=str,
          help="input data file path",
      )
      parser.add_argument(
          "-t",
          "--target",
          type=str,
          help="target(s) to predict as output features of the model",
          action="append",
          required=False,
      )
      parser.add_argument(
          "--time_limit_s",
          type=int,
          help="time limit to train the model in seconds when using hyperopt",
          required=False,
      )
      parser.add_argument(
          "--suggested",
          type=bool,
          help="use suggested config from automl, otherwise only use inferred types and return a minimal config",
          default=False,
          required=False,
      )
      parser.add_argument(
          "--hyperopt",
          type=bool,
          help="include automl hyperopt config",
          default=False,
          required=False,
      )
      parser.add_argument(
          "--random_seed",
          type=int,
          help="seed for random number generators used in hyperopt to improve repeatability",
          required=False,
      )
      parser.add_argument(
          "--use_reference_config",
          type=bool,
          help="refine hyperopt search space by setting first search point from stored reference model config",
          default=False,
          required=False,
      )
      parser.add_argument(
          "-o",
          "--output",
          type=str,
          help="output initialized YAML config path",
          required=False,
      )
  
      add_contrib_callback_args(parser)
      args = parser.parse_args(sys_argv)
  
      args.callbacks = args.callbacks or []
      for callback in args.callbacks:
          callback.on_cmdline("init_config", *sys_argv)
  
      print_ludwig("Init Config", LUDWIG_VERSION)
      init_config(**vars(args))
  
imports: import argparse
  import copy
  import logging
  import os
  import warnings
  from typing import Any, Dict, List, Optional, Union
  import numpy
  import pandas
  import yaml
  from ludwig.api import LudwigModel
  from ludwig.api_annotations import PublicAPI
  from ludwig.automl.base_config import create_default_config, DatasetInfo, get_dataset_info, get_features_config, get_reference_configs
  from ludwig.backend import Backend, initialize_backend
  from ludwig.constants import AUTO, AUTOML_DEFAULT_IMAGE_ENCODER, AUTOML_DEFAULT_TABULAR_MODEL, AUTOML_DEFAULT_TEXT_ENCODER, BINARY, CATEGORY, ENCODER, HYPEROPT, IMAGE, INPUT_FEATURES, NAME, NUMBER, OUTPUT_FEATURES, TABULAR, TEXT, TRAINER, TYPE
  from ludwig.contrib import add_contrib_callback_args
  from ludwig.data.cache.types import CacheableDataset
  from ludwig.datasets import load_dataset_uris
  from ludwig.globals import LUDWIG_VERSION
  from ludwig.hyperopt.run import hyperopt
  from ludwig.schema.model_config import ModelConfig
  from ludwig.types import ModelConfigDict
  from ludwig.utils.automl.ray_utils import _ray_init
  from ludwig.utils.automl.utils import _add_transfer_config, get_model_type, set_output_feature_metric
  from ludwig.utils.data_utils import load_dataset, use_credentials
  from ludwig.utils.defaults import default_random_seed
  from ludwig.utils.fs_utils import open_file
  from ludwig.utils.heuristics import get_auto_learning_rate
  from ludwig.utils.misc_utils import merge_dict
  from ludwig.utils.print_utils import print_ludwig
label_desc: Use image node_id 9 for calling a global function with example usage: cli_init_config(sys_argv) without return types