code: def _convert_hyper_parameters_to_cs(self):
      # type: () -> CS.ConfigurationSpace
      cs = CS.ConfigurationSpace(seed=self._seed)
      for p in self._hyper_parameters:
          if isinstance(p, UniformParameterRange):
              hp = CSH.UniformFloatHyperparameter(
                  p.name,
                  lower=p.min_value,
                  upper=p.max_value,
                  log=False,
                  q=p.step_size,
              )
          elif isinstance(p, UniformIntegerParameterRange):
              hp = CSH.UniformIntegerHyperparameter(
                  p.name,
                  lower=p.min_value,
                  upper=p.max_value,
                  log=False,
                  q=p.step_size,
              )
          elif isinstance(p, DiscreteParameterRange):
              hp = CSH.CategoricalHyperparameter(
                  p.name, choices=p.values
              )
          else:
              raise ValueError(
                  "HyperParameter type {} not supported yet with OptimizerBOHB".format(
                      type(p)
                  )
              )
          cs.add_hyperparameter(hp)
  
      return cs
  
file_path: clearml/clearml/automation/hpbandster/bandster.py
imports: from time import sleep, time
  from typing import Any, Optional, Sequence
  from ..optimization import Objective, SearchStrategy
  from ..parameters import DiscreteParameterRange, UniformParameterRange, RandomSeed, UniformIntegerParameterRange, Parameter
  from ...task import Task
label_desc: Use image node_id 5 for calling the OptimizerBOHB obj's underlying member method code with example usage: obj._convert_hyper_parameters_to_cs() and returns: cs