Skip to content

optuna/optunahub

Repository files navigation

OptunaHub: Feature-sharing platform for Optuna

OptunaHub

Python pypi GitHub license Codecov

🔗 OptunaHub | 📃 Docs | Optuna.org

OptunaHub is a platform for sharing algorithms in Optuna, a powerful and flexible hyperparameter optimization framework. OptunaHub provides implementations of state-of-the-art optimization algorithms and visualization of optimization results for analysis. You can also publish your algorithm implementation on the platform and make it available to Optuna users around the world.

This is the repository of the optunahub Python Library to use packages published in OptunaHub. If you would like to register your package in OptunaHub, please contribute by creating a pull request to the optunahub-registry repository.

📢 News

Installation

Optuna is available at the Python Package Index.

pip install optunahub

Example

You only need to search for the desired function on the OptunaHub website and call the optunahub.load_module function in your code to incorporate it.

import optuna
import optunahub


def objective(trial: optuna.Trial) -> float:
  x = trial.suggest_float("x", -5, 5)
  y = trial.suggest_float("y", -5, 5)
  return x**2 + y**2


module = optunahub.load_module(package="samplers/auto_sampler")
study = optuna.create_study(sampler=module.AutoSampler())
study.optimize(objective, n_trials=10)

print(study.best_trial.value, study.best_trial.params)

Contribution

Any contributions to OptunaHub are more than welcome!

OptunaHub is composed of the following three related repositories. Please contribute to the appropriate repository for your purposes.

  • optunahub (this repository)
    • The python library to use OptunaHub. If you find issues and/or bugs in the optunahub library, please report it here via Github issues.
  • optunahub-registry
    • The registry of the OptunaHub packages. If you are interested in registering your package with OptunaHub, please contribute to this repository. For general guidelines on how to contribute to the repository, take a look at CONTRIBUTING.md.
  • optunahub-web
    • The web frontend for OptunaHub. If you find issues and/or bugs on the website, please report it here via GitHub issues.

License

MIT License (see LICENSE).