class_docstr: High-level API class for running hyperparameter optimisation.
  This class encapsulates optimiser querying, job building, scheduling and
  results collection as well as checkpointing and report generation.
docstr: Initialise the :class:`Trial` experiment manager.
  
  Args:
      objective: :obj:`Callable` or :obj:`str`. The objective function or
          script to run.
      domain: :class:`Domain`. The optimisation domain of the objective
          function.
      optimiser: :class:`Optimiser` or :obj:`str`. The optimiser method
          for domain sampling.
      reporter: :class:`Reporter` or :obj:`str`. The reporting method for
          the results.
      device: :obj:`str`. The host device running the evaluations. Can be
          'local' or 'slurm'.
      **kwargs: additional parameters for the optimiser, reporter and
          scheduler.
  
  Keyword Args:
      timeout: :obj:`float`. The number of seconds to wait for a
          :class:`Job` instance to finish. Default is 259200 seconds,
          or approximately 3 days.
docstr_tok: ["Initialise","the",":","class",":","`","Trial","`","experiment","manager",".","Args",":","objective",":",":","obj",":","`","Callable","`","or",":","obj",":","`","str","`",".","The","objective","function","or","script","to","run",".","domain",":",":","class",":","`","Domain","`",".","The","optimisation","domain","of","the","objective","function",".","optimiser",":",":","class",":","`","Optimiser","`","or",":","obj",":","`","str","`",".","The","optimiser","method","for","domain","sampling",".","reporter",":",":","class",":","`","Reporter","`","or",":","obj",":","`","str","`",".","The","reporting","method","for","the","results",".","device",":",":","obj",":","`","str","`",".","The","host","device","running","the","evaluations",".","Can","be","'local","'","or","'slurm","'",".","*","*","kwargs",":","additional","parameters","for","the","optimiser",",","reporter","and","scheduler",".","Keyword","Args",":","timeout",":",":","obj",":","`","float","`",".","The","number","of","seconds","to","wait","for","a",":","class",":","`","Job","`","instance","to","finish",".","Default","is","259200","seconds",",","or","approximately","3","days","."]
code: def __init__(
      self,
      objective: Union[Callable, str],
      domain: Domain,
      optimiser: OptimiserTypes = "bo",
      reporter: ReporterTypes = "table",
      device: str = "local",
      **kwargs,
  ):
      """Initialise the :class:`Trial` experiment manager.
  
      Args:
          objective: :obj:`Callable` or :obj:`str`. The objective function or
              script to run.
          domain: :class:`Domain`. The optimisation domain of the objective
              function.
          optimiser: :class:`Optimiser` or :obj:`str`. The optimiser method
              for domain sampling.
          reporter: :class:`Reporter` or :obj:`str`. The reporting method for
              the results.
          device: :obj:`str`. The host device running the evaluations. Can be
              'local' or 'slurm'.
          **kwargs: additional parameters for the optimiser, reporter and
              scheduler.
  
      Keyword Args:
          timeout: :obj:`float`. The number of seconds to wait for a
              :class:`Job` instance to finish. Default is 259200 seconds,
              or approximately 3 days.
      """
      self.objective = objective
      self.domain = domain
      self.optimiser = self._init_optimiser(optimiser, **kwargs)
      self.reporter = self._init_reporter(reporter, **kwargs)
      self.scheduler = Scheduler
      # 259200 is the number of seconds contained in 3 days
      self._timeout = kwargs.get("timeout", 259200.0)
      self._job = self._init_job(device)
  
file_path: hypertunity/hypertunity/trial.py
imports: from typing import Callable, Type, Union
  from hypertunity import optimisation, reports, utils
  from hypertunity.domain import Domain
  from hypertunity.optimisation import Optimiser
  from hypertunity.reports import Reporter
  from hypertunity.scheduling import Job, Scheduler, SlurmJob
label_desc: Use image node_id 1 to create a new Trial object  with example: obj = Trial(objective, domain, optimiser, reporter, device)