Trial

orion.core.worker.trial – Container class for Trial entity

class orion.core.worker.trial.Trial(**kwargs)[source]

Represents an entry in database/trials collection.

Attributes:
experiment : str

Unique identifier for the experiment that produced this trial. Same as an Experiment._id.

id_override: str

Trial id returned by the database. It should be unique for a given set of parameters

heartbeat : datetime.datetime

Last time trial was identified as being alive.

status : str

For meaning of property type, see Trial.status.

worker : str

Corresponds to worker’s unique id that handled this trial.

submit_time : datetime.datetime

When was this trial suggested?

start_time : datetime.datetime

When was this trial first reserved?

end_time : datetime.datetime

When was this trial evaluated successfully?

results : list of Trial.Result

List of results of the trial

params : dict of params

Parameters of the trial

Methods

Param(**kwargs) Types for a Param can be either an integer (discrete value), floating precision numerical or a categorical expression (e.g.
Result(**kwargs) Types for a Result can be either an evaluation of an ‘objective’ function or of an ‘constraint’ expression.
Value(**kwargs) Container for a value object.
build(trial_entries) Builder method for a list of trials.
compute_trial_hash([ignore_fidelity, …]) Generate a unique param md5sum hash for a given Trial
format_params([sep, ignore_fidelity]) Represent with a string the parameters contained in this Trial object.
format_values([sep]) Represent with a string the given values.
params_repr([sep, ignore_fidelity]) Represent with a string the parameters contained in this Trial object.
to_dict() Needed to be able to convert Trial to dict form.
class Param(**kwargs)[source]

Types for a Param can be either an integer (discrete value), floating precision numerical or a categorical expression (e.g. a string).

Attributes:
name
type

For meaning of property type, see Value.type.

value

Methods

to_dict() Needed to be able to convert Value to dict form.
class Result(**kwargs)[source]

Types for a Result can be either an evaluation of an ‘objective’ function or of an ‘constraint’ expression.

Attributes:
name
type

For meaning of property type, see Value.type.

value

Methods

to_dict() Needed to be able to convert Value to dict form.
class Value(**kwargs)[source]

Container for a value object.

Attributes:
name : str

A possible named for the quality that this is quantifying.

type : str

For meaning of property type, see Value.type.

value : str or numerical

value suggested for this dimension of the parameter space.

Methods

to_dict() Needed to be able to convert Value to dict form.
__eq__(other)[source]

Test equality based on self.to_dict()

__init__(**kwargs)[source]

See attributes of Value for possible argument for kwargs.

__repr__()

Represent partially with a string.

__str__()[source]

Represent partially with a string.

to_dict()[source]

Needed to be able to convert Value to dict form.

type

For meaning of property type, see Value.type.

__hash__()[source]

Return the hashname for this trial

__init__(**kwargs)[source]

See attributes of Trial for meaning and possible arguments for kwargs.

__repr__()

Represent partially with a string.

__str__()[source]

Represent partially with a string.

classmethod build(trial_entries)[source]

Builder method for a list of trials.

Parameters:trial_entries – List of trial representation in dictionary form, as expected to be saved in a database.
Returns:a list of corresponding Trial objects.
static compute_trial_hash(ignore_fidelity=False, ignore_experiment=False, ignore_lie=False)[source]

Generate a unique param md5sum hash for a given Trial

constraints

Return this trial’s constraints

Returns:
A list of Trial.Result of type ‘constraint’
static format_params(sep=', ', ignore_fidelity=False)[source]

Represent with a string the parameters contained in this Trial object.

static format_values(sep=', ')[source]

Represent with a string the given values.

full_name

Generate a unique name using the full definition of parameters.

gradient

Return this trial’s gradient value if it is evaluated, else None.

Return type:Trial.Result
hash_name

Generate a unique name with an md5sum hash for this Trial.

Note

Two trials that have the same params must have the same hash_name.

hash_params

Generate a unique param md5sum hash for this Trial.

Note

The params contributing to the hash do not include the fidelity.

id

Return hash_name which is also the database key _id.

lie

Return this trial’s fake objective value if it was set, else None.

Return type:Trial.Result
objective

Return this trial’s objective value if it is evaluated, else None.

Return type:Trial.Result
params

Parameters of the trial

params_repr(sep=', ', ignore_fidelity=False)[source]

Represent with a string the parameters contained in this Trial object.

results

List of results of the trial

statistics

Return this trial’s statistics

Returns:
A list of Trial.Result de type ‘statistic’
status

For meaning of property type, see Trial.status.

to_dict()[source]

Needed to be able to convert Trial to dict form.

working_dir

Return the current working directory of the trial.

orion.core.worker.trial.validate_status(status)[source]

Verify if given status is valid. Can be one of new, reserved, suspended, completed, interrupted, or broken.