optuna.create_study
- optuna.create_study(*, storage=None, sampler=None, pruner=None, study_name=None, direction=None, load_if_exists=False, directions=None)[source]
创建一个新的
Study
。示例
import optuna def objective(trial): x = trial.suggest_float("x", 0, 10) return x**2 study = optuna.create_study() study.optimize(objective, n_trials=3)
- 参数:
storage (str | storages.BaseStorage | None) –
数据库 URL。如果此参数设置为 None,则使用
InMemoryStorage
,并且Study
将不会持久化。注意
传入数据库 URL 时,Optuna 内部使用 SQLAlchemy 来处理数据库。有关更多详细信息,请参阅 SQLAlchemy 的文档。如果您想为 SQLAlchemy Engine 指定非默认选项,您可以实例化
RDBStorage
并传入您想要的选项,然后将其作为storage
参数而不是 URL 传递。sampler ('samplers.BaseSampler' | None) – 一个实现值建议背景算法的采样器对象。如果指定
None
,单目标优化期间使用TPESampler
,多目标优化期间使用NSGAIISampler
。另请参阅samplers
。pruner (pruners.BasePruner | None) – 一个决定提前停止无希望试验的剪枝器对象。如果指定
None
,则默认使用MedianPruner
。另请参阅pruners
。study_name (str | None) – Study 的名称。如果此参数设置为 None,则会自动生成一个唯一名称。
direction (str | StudyDirection | None) –
优化的方向。设置为
minimize
表示最小化,设置为maximize
表示最大化。您也可以传递相应的StudyDirection
对象。direction
和directions
不能同时指定。注意
如果 direction 和 directions 均未指定,则 study 的方向设置为“minimize”。
load_if_exists (bool) – 控制处理 study 名称冲突行为的标志。如果在
storage
中已存在名为study_name
的 study,则如果load_if_exists
设置为False
,会引发DuplicatedStudyError
。否则,会跳过 study 的创建并返回现有 study。directions (Sequence[str | StudyDirection] | None) – 多目标优化期间的方向序列。
direction
和directions
不能同时指定。
- 返回值:
一个
Study
对象。- 返回类型:
另请参阅
另请参阅
使用 RDB 后端保存/恢复 Study 的教程提供了使用 RDB 保存和恢复优化的具体示例。