code: def auto_args(config, estimators):
      """
      Merge user defined config to estimator default config, and convert to search space
  
      Parameters
      ----------
      config: <class 'dict'>
  
      Returns
      -------
      ag_space: <class 'autogluon.core.space.Dict'>
      """
      total_config = {}
  
      # estimator default config
      if not isinstance(estimators, (tuple, list)):
          estimators = [estimators]
      for estimator in estimators:
          assert issubclass(estimator, BaseEstimator), estimator
          default_config = copy.deepcopy(
              estimator._default_config
          )  # <class 'dict'>
          recursive_update(total_config, default_config)
  
      # user defined config
      nested_config = config_to_nested(config)
      recursive_update(total_config, nested_config)
  
      # convert to search space
      ag_space = config_to_space(total_config)
  
      return ag_space
  
imports: import copy
  import warnings
  import numpy
  import autogluon.core
  from ..estimators.base_estimator import BaseEstimator
  from ..estimators import SSDEstimator, FasterRCNNEstimator, YOLOv3Estimator, CenterNetEstimator
  from ..estimators import ImageClassificationEstimator
  from ..data.dataset import ObjectDetectionDataset
label_desc: Use image node_id 7 for calling a global function with example usage: auto_args(config, estimators) and returns: ag_space