docstr: Initialize a search space from given specifications
  
  Parameters
  ----------
  dimensions: List
      List of search space `Dimension` instances or representatives. Each search dimension
      may be any of the following:
      * `(lower_bound, upper_bound)` tuple (`Real` or `Integer`)
      * `(lower_bound, upper_bound, prior)` tuple (`Real`)
      * List of categories (`Categorical`)
      * `Dimension` instance (`Real`, `Integer` or `Categorical`)
  
  Notes
  -----
  The upper and lower bounds are inclusive for `Integer` dimensions
docstr_tok: ["Initialize","a","search","space","from","given","specifications","Parameters","--","--","--","--","--","dimensions",":","List","List","of","search","space","`","Dimension","`","instances","or","representatives",".","Each","search","dimension","may","be","any","of","the","following",":","*","`","(","lower_bound",",","upper_bound",")","`","tuple","(","`","Real","`","or","`","Integer","`",")","*","`","(","lower_bound",",","upper_bound",",","prior",")","`","tuple","(","`","Real","`",")","*","List","of","categories","(","`","Categorical","`",")","*","`","Dimension","`","instance","(","`","Real","`",",","`","Integer","`","or","`","Categorical","`",")","Notes","--","--","-","The","upper","and","lower","bounds","are","inclusive","for","`","Integer","`","dimensions"]
code: def __init__(self, dimensions):
      """Initialize a search space from given specifications
  
      Parameters
      ----------
      dimensions: List
          List of search space `Dimension` instances or representatives. Each search dimension
          may be any of the following:
          * `(lower_bound, upper_bound)` tuple (`Real` or `Integer`)
          * `(lower_bound, upper_bound, prior)` tuple (`Real`)
          * List of categories (`Categorical`)
          * `Dimension` instance (`Real`, `Integer` or `Categorical`)
  
      Notes
      -----
      The upper and lower bounds are inclusive for `Integer` dimensions
      """
      self.dimensions = [check_dimension(dim) for dim in dimensions]
  
imports: from hyperparameter_hunter.space.dimensions import Dimension, Real, Integer, Categorical
  from hyperparameter_hunter.utils.general_utils import short_repr
  from functools import reduce
  import numbers
  import numpy
  from sys import maxsize
  from sklearn.utils import check_random_state
  from sklearn.utils.fixes import sp_version
label_desc: Use image node_id 1 to create a new Space object  with example: obj = Space(dimensions)