Scaling Optuna with Dask
Project description
Dask-Optuna
Dask-Optuna helps improve integration between Optuna and Dask
by leveraging Optuna's existing distributed optimization capabilities to run
optimization trials in parallel on a Dask cluster. It does this by providing a
Dask-compatible dask_optuna.DaskStorage
storage class which wraps an
Optuna storage class (e.g. Optuna's in-memory or sqlite storage) and can be used
directly by Optuna. For example:
import optuna
import joblib
import dask.distributed
import dask_optuna
def objective(trial):
x = trial.suggest_uniform("x", -10, 10)
return (x - 2) ** 2
with dask.distributed.Client() as client:
# Create a study using Dask-compatible storage
storage = dask_optuna.DaskStorage()
study = optuna.create_study(storage=storage)
# Optimize in parallel on your Dask cluster
with joblib.parallel_backend("dask"):
study.optimize(objective, n_trials=100, n_jobs=-1)
print(f"best_params = {study.best_params}")
Documentation
See the Dask-Optuna documentation for more information.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dask-optuna-0.0.2.tar.gz
(26.6 kB
view hashes)
Built Distribution
Close
Hashes for dask_optuna-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a069dd4381d58bf5a66b6629378c3a2940a1392728e86f78aac9e7485eab2981 |
|
MD5 | 402981ab12e479250dfed5c79486b4de |
|
BLAKE2b-256 | 737c75631fa55c7263334131a4e7e043e968090d7175d7b49be56d8bc0f470d5 |