optuna.create_study
- optuna.create_study(storage=None, sampler=None, pruner=None, study_name=None, direction=None, load_if_exists=False, *, directions=None)[源代码]
创建一个新的
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 (Optional[Union[str, optuna.storages._base.BaseStorage]]) –
数据库URL. 如果该参数被设置为 None, 我们将采用内存存储, 而
Study
将不会被持久化.备注
当传入一个数据库 URL 后, Optuna 将在内部使用 SQLAlchemy 来连接数据库. 更多细节请参考 SQLAlchemy’s document. 如果想更改 SQLAlchemy Engine 的默认选项, 你可以用你想要的选项来实例化
RDBStorage
并将其, 而不是一个URL, 传入storage
参数.sampler (Optional[optuna.samplers._base.BaseSampler]) – 一个实现了值 suggestion 背景算法的 Sampler 对象. 如果设为
None
的话,TPESampler
将在单目标优化时被采用, 而NSGAIISampler
会在多目标优化时被采用. 参看samplers
.pruner (Optional[optuna.pruners._base.BasePruner]) – 一个用于提前终止无望 trial 的 pruner 对象. 如果设置为
None
的话,MedianPruner
将会被采用. 参见pruners
.study_name (Optional[str]) – Study 的名字. 如果该参数被设置为 None 的话, Optuna 将会采用一个自动生成的名字.
direction (Optional[Union[str, optuna._study_direction.StudyDirection]]) –
优化的方向. 最小化时设置为
minimize
, 最大化时设置为maximize
. 你也可以传入一个对应的StudyDirection
对象.备注
如果 direction 和 directions 都没有设置的话, study 的方向将被设置为 “minimize”.
load_if_exists (bool) – 用于处理在 study 名字冲突情况下的行为选项. 在已经有一个名为
study_name
的 sudy 于storage
中存在时, 如果load_if_exists
被设置为False
, Optuna 将抛出DuplicatedStudyError
错误. 否则, study 的创建过程将被略过而返回已有的那个 study.directions (Optional[Sequence[Union[str, optuna._study_direction.StudyDirection]]]) – 在多目标优化中的一系列的方向.
- 返回
A
Study
object.- 引发
ValueError – 如果
directions
的长度是0. 或者, 如果direction
既不是 ‘minimize’ 也不是 maximize. 或者, 如果direction
和directions
被同时设定的话.- 返回类型
参见
optuna.create_study()
is an alias ofoptuna.study.create_study()
.