Trial

class optuna.multi_objective.trial.MultiObjectiveTrial(trial: optuna.trial._trial.Trial)[源代码]

一个Trial 是一次对目标函数求值的过程。

该对象被传递给一个目标函数,它能提供用于参数 suggestion 的接口,管理 trial 状态和设置/获取该 trial 的用户定义属性。

注意,我们并不推荐直接使用该构造函数。该对象是在 optuna.multi_objective.study.MultiObjectiveStudy.optimize() 方法中被实例化然后被传递给目标函数的。因此,库用户无需关心该对象的实例化过程。

参数

trial -- Trial 对象。

注解

在 v1.4.0 中作为试验性特性引入,在未来版本中,该接口可能在没有预先告知的情况下被改变。参考 https://github.com/optuna/optuna/releases/tag/v1.4.0.

property datetime_start

返回开始时间。

返回

Datetime where the Trial started.

property distributions

返回待优化参数的分布。

返回

包含所有分布的字典。

property number

返回 trial 编号,不同 trial 的该值在同一 study 中是唯一且连续变化的。

返回

trial 编号。

property params

返回待优化参数。

返回

包含所有参数的字典。

report(values: Tuple[float], step: int)None[源代码]

对于给定步骤返回目标函数中间值。

这个返回值将被 pruner 用于判定是否要对该 trial 进行剪枝。

参见

请参考 BasePruner

注解

该返回值会被 float() 转化成 float 类型。因此,它接受所有 类 float 数据类型。如果转换失败,Optuna 将抛出一个 TypeError

参数
  • values -- 给定步骤的目标函数中间值。

  • step -- Trial 的步骤(比如,神经网络训练中的 epoch)。

set_user_attr(key: str, value: Any)None[源代码]

给该 trial 设定用户属性。

更多细节请参考 optuna.trial.Trial.set_user_attr() 的文档。

suggest_categorical(name: str, choices: Sequence[Union[None, bool, int, float, str]]) → Union[None, bool, int, float, str][源代码]

为类别参数进行 value suggestion。

更多细节请参考 optuna.trial.Trial.suggest_categorical() 的文档。

suggest_discrete_uniform(name: str, low: float, high: float, q: float)float[源代码]

为离散参数进行 value suggestion。

更多细节请参考 optuna.trial.Trial.suggest_discrete_uniform() 的文档。

suggest_float(name: str, low: float, high: float, *, step: Optional[float] = None, log: bool = False)float[源代码]

为浮点数参数进行 value suggestion。

更多细节请参考 optuna.trial.Trial.suggest_float() 的文档。

suggest_int(name: str, low: int, high: int, step: int = 1, log: bool = False)int[源代码]

为整型参数进行 value suggestion。

更多细节请参考 optuna.trial.Trial.suggest_int() 的文档。

suggest_loguniform(name: str, low: float, high: float)float[源代码]

为连续参数进行 value suggestion。

更多细节请参考 optuna.trial.Trial.suggest_loguniform() 的文档。

suggest_uniform(name: str, low: float, high: float)float[源代码]

为连续参数进行 value suggestion。

更多细节请参考 optuna.trial.Trial.suggest_uniform() 的文档。

property user_attrs

返回用户属性。

返回

包含所有用户属性的字典。

class optuna.multi_objective.trial.FrozenMultiObjectiveTrial(n_objectives: int, trial: optuna.trial._frozen.FrozenTrial)[源代码]

MultiObjectiveTrial 的状态和结果。

number

每个 MultiObjectiveStudy 中的每个 MultiObjectiveTrial 所拥有的唯一且连续的编号。注意,该编号从零开始计数。

state

MultiObjectiveTrialTrialState

values

MultiObjectiveTrial 的目标函数值。

datetime_start

MultiObjectiveTrial 的开始时间。

datetime_complete

MultiObjectiveTrial 的结束时间。

params

包含参数 suggestion 的字典。

distributions

包含 params 分布的字典。

user_attrs

包含通过 optuna.multi_objective.trial.MultiObjectiveTrial.set_user_attr() 来设置的 MultiObjectiveTrial 的属性字典。

intermediate_values

通过 optuna.multi_objective.trial.MultiObjectiveTrial.report() 设置的中间目标函数值。

注解

在 v1.4.0 中作为试验性特性引入,在未来版本中,该接口可能在没有预先告知的情况下被改变。参考 https://github.com/optuna/optuna/releases/tag/v1.4.0.