code: def setup_space(self):
      # 1. Setup model space
      model_space_name = self.tuner_config["model"].get("space", None)
      if model_space_name is None:
          raise ValueError("Please give the search space of model.")
      model_space = getattr(
          importlib.import_module(
              ".space", package="qlib.contrib.tuner"
          ),
          model_space_name,
      )
  
      # 2. Setup strategy space
      strategy_space_name = self.tuner_config["strategy"].get(
          "space", None
      )
      if strategy_space_name is None:
          raise ValueError("Please give the search space of strategy.")
      strategy_space = getattr(
          importlib.import_module(
              ".space", package="qlib.contrib.tuner"
          ),
          strategy_space_name,
      )
  
      # 3. Setup data label space if given
      if self.tuner_config.get("data_label", None) is not None:
          data_label_space_name = self.tuner_config["data_label"].get(
              "space", None
          )
          if data_label_space_name is not None:
              data_label_space = getattr(
                  importlib.import_module(
                      ".space", package="qlib.contrib.tuner"
                  ),
                  data_label_space_name,
              )
      else:
          data_label_space_name = None
  
      # 4. Combine the searching space
      space = dict()
      space.update({"model_space": model_space})
      space.update({"strategy_space": strategy_space})
      if data_label_space_name is not None:
          space.update({"data_label_space": data_label_space})
  
      return space
  
imports: import os
  import yaml
  import json
  import copy
  import pickle
  import logging
  import importlib
  import subprocess
  import pandas
  import numpy
  from abc import abstractmethod
  from ...log import get_module_logger, TimeInspector
  from hyperopt import fmin, tpe
  from hyperopt import STATUS_OK, STATUS_FAIL
label_desc: Use image node_id 4 for calling the QLibTuner obj's underlying member method code with example usage: obj.setup_space() and returns: space