code: def __init__(self, tuner_config, optim_config):
      self.logger = get_module_logger("Tuner", sh_level=logging.INFO)
  
      self.tuner_config = tuner_config
      self.optim_config = optim_config
  
      self.max_evals = self.tuner_config.get("max_evals", 10)
      self.ex_dir = os.path.join(
          self.tuner_config["experiment"]["dir"],
          self.tuner_config["experiment"]["name"],
      )
  
      self.best_params = None
      self.best_res = None
  
      self.space = self.setup_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 1 to create a new Tuner object  with example: obj = Tuner(tuner_config, optim_config)