class_docstr: Interface for abstract model to executor HPO runs
docstr: Validate the search space for the experiment
  
  Parameters
  ----------
  search_space
      Search space provided to the experiment.
  model_name
      The model name of the hpo experiment is tuning. This is only used for logging purpose
docstr_tok: ["Validate","the","search","space","for","the","experiment","Parameters","--","--","--","--","--","search_space","Search","space","provided","to","the","experiment",".","model_name","The","model","name","of","the","hpo","experiment","is","tuning",".","This","is","only","used","for","logging","purpose"]
code: def validate_search_space(
      self,
      search_space: dict,
      model_name: str,
  ):
      """
      Validate the search space for the experiment
  
      Parameters
      ----------
      search_space
          Search space provided to the experiment.
      model_name
          The model name of the hpo experiment is tuning. This is only used for logging purpose
      """
      raise NotImplementedError
  
imports: from __future__ import annotations
  import copy
  import logging
  import math
  import os
  import time
  from abc import ABC, abstractmethod
  from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Tuple, Union
  import pandas
  from autogluon.common import space
  from autogluon.common.utils.resource_utils import ResourceManager
  from autogluon.common.utils.s3_utils import is_s3_url
  from ..ray.resources_calculator import ResourceCalculator
  from ..scheduler.scheduler_factory import scheduler_factory
  from ..utils.savers import save_pkl
  from .constants import CUSTOM_BACKEND, RAY_BACKEND
  from .exceptions import EmptySearchSpace
label_desc: Use image node_id 7 for calling the HpoExecutor obj's underlying member method code with example usage: obj.validate_search_space(search_space, model_name) without return types