注意
转到末尾下载完整的示例代码。
轻松并行化
并行化 optuna.study.Study.optimize()
是非常直接的。
如果您想手动执行 Optuna 优化
启动一个 RDB 服务器(此示例使用 MySQL)
使用
--storage
参数创建一个 study在多个节点和进程之间共享 study
当然,您可以使用 Kubernetes,就像kubernetes 示例中那样。
要了解 Optuna 中的并行优化如何工作,请查看下面的视频。
创建 Study
您可以使用 optuna create-study
命令创建一个 study。或者,在 Python 脚本中您可以使用 optuna.create_study()
。
$ mysql -u root -e "CREATE DATABASE IF NOT EXISTS example"
$ optuna create-study --study-name "distributed-example" --storage "mysql://root@localhost/example"
[I 2020-07-21 13:43:39,642] A new study created with name: distributed-example
然后,编写一个优化脚本。假设 foo.py
包含以下代码。
import optuna
def objective(trial):
x = trial.suggest_float("x", -10, 10)
return (x - 2) ** 2
if __name__ == "__main__":
study = optuna.load_study(
study_name="distributed-example", storage="mysql://root@localhost/example"
)
study.optimize(objective, n_trials=100)