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 the same parameter values as inparams
; it does not sample any value from a distribution. 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_float("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_float("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.- Parameters
number (int) –
state (TrialState) –
trial_id (int) –
- 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.value
andvalues
must not be specified at the same time.
- params
Dictionary that contains suggested parameters.
- user_attrs
Dictionary that contains the attributes of the
Trial
set withoptuna.trial.Trial.set_user_attr()
.
- system_attrs
Dictionary that contains the attributes of the
Trial
set withoptuna.trial.Trial.set_system_attr()
.
- intermediate_values
Intermediate objective values set with
optuna.trial.Trial.report()
.
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
Return the elapsed time taken to complete the trial.
Return the maximum step of
intermediate_values
in the trial.- property duration: Optional[timedelta]
Return the elapsed time taken to complete the trial.
- Returns
The duration.
- property last_step: Optional[int]
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
None
- should_prune()[source]
Suggest whether the trial should be pruned or not.
The suggestion is always
False
regardless of a pruning algorithm.Note
FrozenTrial
only samples one combination of parameters.
- suggest_discrete_uniform(name, low, high, q)[source]
Warning
Deprecated in v3.0.0. This feature will be removed in the future. The removal of this feature is currently scheduled for v6.0.0, but this schedule is subject to change. See https://github.com/optuna/optuna/releases/tag/v3.0.0.
Use
suggest_float()
instead.
- suggest_loguniform(name, low, high)[source]
Warning
Deprecated in v3.0.0. This feature will be removed in the future. The removal of this feature is currently scheduled for v6.0.0, but this schedule is subject to change. See https://github.com/optuna/optuna/releases/tag/v3.0.0.
Use
suggest_float()
instead.
- suggest_uniform(name, low, high)[source]
Warning
Deprecated in v3.0.0. This feature will be removed in the future. The removal of this feature is currently scheduled for v6.0.0, but this schedule is subject to change. See https://github.com/optuna/optuna/releases/tag/v3.0.0.
Use
suggest_float()
instead.