Source code for orion.client.manual

# -*- coding: utf-8 -*-
"""
:mod:`orion.client.manual` -- Routines for manual interaction with database
=============================================================================

.. module:: manual
   :platform: Unix
   :synopsis: Provides a simple interface to log new trials into the database
      and link them with a particular existing experiment.

"""
from orion.core.io.experiment_builder import ExperimentBuilder
from orion.core.utils import format_trials


[docs]def insert_trials(experiment_name, points, cmdconfig=None, raise_exc=True): """Insert sets of parameters manually, defined in `points`, as new trials for the experiment name, `experiment_name`. :param experiment_name: Name of the experiment which the new trials are going to be associated with :param points: list of tuples in agreement with experiment's parameter space :param raise_exc: whether an inappropriate tuple of parameters will raise an exception or it will be ignored .. note:: If `raise_exc` is True, no set of parameters will be inserted. If it is False, only the valid ones will be inserted; the rest will be ignored. .. note:: This cannot be used to prepopulate a future experiment. So, an experiment with `experiment_name` should already be configured in the database. """ cmdconfig = cmdconfig if cmdconfig else {} cmdconfig['name'] = experiment_name experiment_view = ExperimentBuilder().build_view_from({'config': cmdconfig}) valid_points = [] print(experiment_view.space) for point in points: try: assert point in experiment_view.space valid_points.append(point) except AssertionError: if raise_exc: raise if not valid_points: return new_trials = list( map(lambda data: format_trials.tuple_to_trial(data, experiment_view.space), valid_points)) for new_trial in new_trials: ExperimentBuilder().build_from(experiment_view.configuration).register_trial(new_trial)