optuna.copy_study

optuna.copy_study(*, from_study_name, from_storage, to_storage, to_study_name=None)[source]

スタディをあるストレージから別のストレージにコピーします。

スタディ、トライアル、ユーザー属性、システム属性の目的関数の方向がコピーされます。

Note

copy_study() は最適化が実行中であってもスタディをコピーします。 つまり、ユーザーは完了していないトライアルを含むコピーされたスタディを取得します。

使用例

import optuna


def objective(trial):
    x = trial.suggest_float("x", -10, 10)
    return (x - 2) ** 2


study = optuna.create_study(
    study_name="example-study",
    storage="sqlite:///example.db",
)
study.optimize(objective, n_trials=3)

optuna.copy_study(
    from_study_name="example-study",
    from_storage="sqlite:///example.db",
    to_storage="sqlite:///example_copy.db",
)

study = optuna.load_study(
    study_name=None,
    storage="sqlite:///example_copy.db",
)
Parameters:
  • from_study_name (str) – コピー元のスタディ名。

  • from_storage (str | BaseStorage) – ソースデータベースの URL(例: sqlite:///example.db)。詳細は create_study() のドキュメントを参照してください。

  • to_storage (str | BaseStorage) – コピー先データベースの URL。

  • to_study_name (str | None) – 作成するスタディの名前。指定しない場合は from_study_name が使用されます。

Raises:

DuplicatedStudyError – コピー先のストレージに同名のスタディが既に存在する場合。

Return type:

None