class_docstr: Adapter for the HEBO algorithm from https://github.com/huawei-noah/HEBO
  
  Parameters
  ----------
  :param space: Optimisation space with priors for each dimension.
  :param seed: Base seed for the random number generators. Defaults to `None`, in which case the
  randomness is not seeded.
  :param parameters: Parameters for the HEBO algorithm.
docstr: Suggest `num` new sets of hyper-parameters to try.
  
  Parameters
  ----------
  num: int
      Number of trials to suggest. The algorithm may return less than the number of
      trials requested.
  
  Returns
  -------
  A list of trials representing values suggested by the algorithm.
docstr_tok: ["Suggest","`","num","`","new","sets","of","hyper-parameters","to","try",".","Parameters","--","--","--","--","--","num",":","int","Number","of","trials","to","suggest",".","The","algorithm","may","return","less","than","the","number","of","trials","requested",".","Returns","--","--","--","-","A","list","of","trials","representing","values","suggested","by","the","algorithm","."]
code: def suggest(self, num: int) -> list[Trial]:
      """Suggest `num` new sets of hyper-parameters to try.
  
      Parameters
      ----------
      num: int
          Number of trials to suggest. The algorithm may return less than the number of
          trials requested.
  
      Returns
      -------
      A list of trials representing values suggested by the algorithm.
      """
      trials: list[Trial] = []
      with control_randomness(self):
          v: pd.DataFrame = self.model.suggest(n_suggestions=num)
      point_dicts: dict[int, dict] = v.to_dict(orient="index")  # type: ignore
  
      for point_index, params_dict in point_dicts.items():
          if self.is_done:
              break
          params_dict = self._hebo_params_to_orion_params(params_dict)
          new_trial = self._params_to_trial(params_dict)
  
          if not self.has_suggested(new_trial):
              self.register(new_trial)
              trials.append(new_trial)
              logger.debug("Suggestion %s: %s", point_index, new_trial)
      return trials
  
imports: from __future__ import annotations
  import copy
  import typing
  import warnings
  from dataclasses import dataclass
  from logging import getLogger
  from typing import Any, ClassVar, Literal
  import numpy
  import pandas
  from typing_extensions import TypedDict
  from orion.algo.base import BaseAlgorithm
  from orion.algo.space import Dimension, Fidelity, Space
  from orion.core.utils.format_trials import dict_to_trial
  from orion.core.utils.module_import import ImportOptional
  from orion.core.utils.random_state import RandomState, control_randomness
  from orion.core.worker.transformer import TransformedDimension
  from orion.core.worker.trial import Trial
label_desc: Use image node_id 5 for calling the HEBO obj's underlying member method code with example usage: obj.suggest(num) and returns: trials