备注
前往结尾 下载完整示例代码。
简单并行化
并行化 optuna.study.Study.optimize() 是很直接的。
如果你想手动执行 Optuna 优化:
启动一个RDB服务器(此示例使用MySQL)
使用
--storage参数创建一个学习在多个节点和进程之间共享学习
当然,你可以像 kubernetes 示例 中那样使用 Kubernetes。
要查看 Optuna 中的并行优化如何工作,请查看以下视频。
创建一个学习
你可以使用 optuna create-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)