optuna.study.create_study

optuna.study.create_study(storage=None, sampler=None, pruner=None, study_name=None, direction=None, load_if_exists=False, *, directions=None)[source]

Create a new Study.

Example

import optuna


def objective(trial):
    x = trial.suggest_uniform("x", 0, 10)
    return x ** 2


study = optuna.create_study()
study.optimize(objective, n_trials=3)
Parameters
  • storage (Optional[Union[str, optuna.storages._base.BaseStorage]]) –

    Database URL. If this argument is set to None, in-memory storage is used, and the Study will not be persistent.

    Note

    When a database URL is passed, Optuna internally uses SQLAlchemy to handle the database. Please refer to SQLAlchemy’s document for further details. If you want to specify non-default options to SQLAlchemy Engine, you can instantiate RDBStorage with your desired options and pass it to the storage argument instead of a URL.

  • sampler (Optional[optuna.samplers._base.BaseSampler]) – A sampler object that implements background algorithm for value suggestion. If None is specified, TPESampler is used during single-objective optimization and NSGAIISampler during multi-objective optimization. See also samplers.

  • pruner (Optional[optuna.pruners._base.BasePruner]) – A pruner object that decides early stopping of unpromising trials. If None is specified, MedianPruner is used as the default. See also pruners.

  • study_name (Optional[str]) – Study’s name. If this argument is set to None, a unique name is generated automatically.

  • direction (Optional[str]) –

    Direction of optimization. Set minimize for minimization and maximize for maximization.

    Note

    If none of direction and directions are specified, the direction of the study is set to “minimize”.

  • directions (Optional[Sequence[str]]) – A sequence of directions during multi-objective optimization.

  • load_if_exists (bool) – Flag to control the behavior to handle a conflict of study names. In the case where a study named study_name already exists in the storage, a DuplicatedStudyError is raised if load_if_exists is set to False. Otherwise, the creation of the study is skipped, and the existing one is returned.

Returns

A Study object.

Raises

ValueError – If the length of directions is zero. Or, if direction is neither ‘minimize’ nor ‘maximize’ when it is a string. Or, if the element of directions is neither minimize nor maximize. Or, if both direction and directions are specified.

Return type

optuna.study.Study