← retour aux snippets

optuna: stockage SQLite

Persister les études Optuna dans une base SQLite.

python tuning #optuna#storage#sqlite

objectif

Persister les études Optuna dans une base SQLite.

code minimal

import optuna, os
storage = "sqlite:///optuna.db"
study = optuna.create_study(direction="maximize", storage=storage, study_name="demo", load_if_exists=True)
def objective(trial): return trial.suggest_float("x", -1, 1) ** 2 * -1
study.optimize(objective, n_trials=5)
print(os.path.exists("optuna.db"))

utilisation

# Charger l'étude existante
study2 = optuna.load_study(study_name="demo", storage=storage)
print(study2.best_trial.number >= 0)

variante(s) utile(s)

# Énumérer les études
sampler = optuna.samplers.TPESampler(seed=0)
print(isinstance(sampler, optuna.samplers.TPESampler))

notes

  • Stockage RDB pour reprendre/partager des runs (SQLite en local, ou MySQL/PostgreSQL en équipe).