optuna.trial.FrozenTrial¶
-
class
optuna.trial.
FrozenTrial
(number, state, value, datetime_start, datetime_complete, params, distributions, user_attrs, system_attrs, intermediate_values, trial_id, *, values=None)[source]¶ Status and results of a
Trial
.This object has the same methods as
Trial
, and it suggests best parameter values among performed trials. In contrast toTrial
,FrozenTrial
does not depend onStudy
, and it is useful for deploying optimization results.Example
Re-evaluate an objective function with parameter values optimized study.
import optuna def objective(trial): x = trial.suggest_uniform("x", -1, 1) return x ** 2 study = optuna.create_study() study.optimize(objective, n_trials=3) assert objective(study.best_trial) == study.best_value
Note
Instances are mutable, despite the name. For instance,
set_user_attr()
will update user attributes of objects in-place.Example:
Overwritten attributes.
import copy import datetime import optuna def objective(trial): x = trial.suggest_uniform("x", -1, 1) # this user attribute always differs trial.set_user_attr("evaluation time", datetime.datetime.now()) return x ** 2 study = optuna.create_study() study.optimize(objective, n_trials=3) best_trial = study.best_trial best_trial_copy = copy.deepcopy(best_trial) # re-evaluate objective(best_trial) # the user attribute is overwritten by re-evaluation assert best_trial.user_attrs != best_trial_copy.user_attrs
Note
Please refer to
Trial
for details of methods and properties.-
number
¶ Unique and consecutive number of
Trial
for eachStudy
. Note that this field uses zero-based numbering.
-
state
¶ TrialState
of theTrial
.
-
values
¶ Sequence of objective values of the
Trial
. The length is greater than 1 if the problem is multi-objective optimization.
-
params
¶ Dictionary that contains suggested parameters.
-
user_attrs
¶ Dictionary that contains the attributes of the
Trial
set withoptuna.trial.Trial.set_user_attr()
.
-
intermediate_values
¶ Intermediate objective values set with
optuna.trial.Trial.report()
.
- Raises
ValueError – If both
value
andvalues
are specified.
Methods
report
(value, step)Interface of report function.
set_system_attr
(key, value)set_user_attr
(key, value)Suggest whether the trial should be pruned or not.
suggest_categorical
(name, choices)suggest_discrete_uniform
(name, low, high, q)suggest_float
(name, low, high, *[, step, log])suggest_int
(name, low, high[, step, log])suggest_loguniform
(name, low, high)suggest_uniform
(name, low, high)Attributes
Dictionary that contains the distributions of
params
.Return the elapsed time taken to complete the trial.
Return the maximum step of intermediate_values in the trial.
system_attrs
-
property
duration
¶ Return the elapsed time taken to complete the trial.
- Returns
The duration.
-
property
last_step
¶ Return the maximum step of intermediate_values in the trial.
- Returns
The maximum step of intermediates.
-
report
(value, step)[source]¶ Interface of report function.
Since
FrozenTrial
is not pruned, this report function does nothing.See also
Please refer to
should_prune()
.- Parameters
value (float) – A value returned from the objective function.
step (int) – Step of the trial (e.g., Epoch of neural network training). Note that pruners assume that
step
starts at zero. For example,MedianPruner
simply checks ifstep
is less thann_warmup_steps
as the warmup mechanism.
- Return type
-