optuna.trial.create_trial

optuna.trial.create_trial(*, state=1, value=None, values=None, params=None, distributions=None, user_attrs=None, system_attrs=None, intermediate_values=None)[源代码]

创建一个新的 FrozenTrial

示例

import optuna
from optuna.distributions import CategoricalDistribution
from optuna.distributions import FloatDistribution

trial = optuna.trial.create_trial(
    params={"x": 1.0, "y": 0},
    distributions={
        "x": FloatDistribution(0, 10),
        "y": CategoricalDistribution([-1, 0, 1]),
    },
    value=5.0,
)

assert isinstance(trial, optuna.trial.FrozenTrial)
assert trial.value == 5.0
assert trial.params == {"x": 1.0, "y": 0}

另请参阅

有关如何使用此函数从现有试验创建研究的信息,请参阅 add_trial()

注意

请注意,这是一个低级 API。通常,传递给目标函数的试验是在 optimize() 内部创建的。

注意

stateTrialState.COMPLETE 时,需要以下参数

  • params

  • distributions

  • valuevalues

参数:
  • state (TrialState) – 试验状态。

  • value (float | None) – 试验目标值。如果 stateTrialState.COMPLETE,则必须指定。 valuevalues 不能同时指定。

  • values (Sequence[float] | None) – 试验目标值序列。如果问题是多目标优化,则长度大于 1。如果 stateTrialState.COMPLETE,则必须指定。 valuevalues 不能同时指定。

  • params (dict[str, Any] | None) – 包含试验建议参数的字典。

  • distributions (dict[str, BaseDistribution] | None) – 包含试验参数分布的字典。

  • user_attrs (dict[str, Any] | None) – 包含用户属性的字典。

  • system_attrs (dict[str, Any] | None) – 包含系统属性的字典。大多数用户无需使用。

  • intermediate_values (dict[int, float] | None) – 包含试验中间目标值的字典。

返回值:

创建的试验。

返回类型:

FrozenTrial