optuna.study.copy_study

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

将 study 从一个存储复制到另一个存储。

研究中的目标方向、试验、用户属性和系统属性都会被复制。

注意

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",
)
参数:
  • 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

引发:

DuplicatedStudyError – 如果目标存储中已存在名称冲突的研究。

返回类型: