optuna
Описание
A hyperparameter optimization framework
Языки
- Python99,8%
- Shell0,1%
- Остальные0,1%

Optuna: A hyperparameter optimization framework
🔗 Website | 📃 Docs | ⚙️ Install Guide | 📝 Tutorial | 💡 Examples
Optuna is an automatic hyperparameter optimization software framework, particularly designed for machine learning. It features an imperative, define-by-run style user API. Thanks to our define-by-run API, the code written with Optuna enjoys high modularity, and the user of Optuna can dynamically construct the search spaces for the hyperparameters.
🔥 Key Features
Optuna has modern functionalities as follows:
- Lightweight, versatile, and platform agnostic architecture
- Handle a wide variety of tasks with a simple installation that has few requirements.
- Pythonic search spaces
- Define search spaces using familiar Python syntax including conditionals and loops.
- Efficient optimization algorithms
- Adopt state-of-the-art algorithms for sampling hyperparameters and efficiently pruning unpromising trials.
- Easy parallelization
- Scale studies to tens or hundreds of workers with little or no changes to the code.
- Quick visualization
- Inspect optimization histories from a variety of plotting functions.
Basic Concepts
We use the terms study and trial as follows:
- Study: optimization based on an objective function
- Trial: a single execution of the objective function
Please refer to the sample code below. The goal of a study is to find out the optimal set of
hyperparameter values (e.g., and ) through multiple trials (e.g.,
). Optuna is a framework designed for automation and acceleration of
optimization studies.
Note
More examples can be found in optuna/optuna-examples.
The examples cover diverse problem setups such as multi-objective optimization, constrained optimization, pruning, and distributed optimization.
Installation
Optuna is available at the Python Package Index and on Anaconda Cloud.
Important
Optuna supports Python 3.7 or newer.
Also, we provide Optuna docker images on DockerHub.
Integrations
Optuna has integration features with various third-party libraries. Integrations can be found in optuna/optuna-integration and the document is available here.
Supported integration libraries
Web Dashboard
Optuna Dashboard is a real-time web dashboard for Optuna. You can check the optimization history, hyperparameter importance, etc. in graphs and tables. You don't need to create a Python script to call Optuna's visualization functions. Feature requests and bug reports are welcome!

can be installed via pip:
Tip
Please check out the convenience of Optuna Dashboard using the sample code below.
Sample code to launch Optuna Dashboard
Save the following code as .
Then try the commands below:
Communication
- GitHub Discussions for questions.
- GitHub Issues for bug reports and feature requests.
Contribution
Any contributions to Optuna are more than welcome!
If you are new to Optuna, please check the good first issues. They are relatively simple, well-defined, and often good starting points for you to get familiar with the contribution workflow and other developers.
If you already have contributed to Optuna, we recommend the other contribution-welcome issues.
For general guidelines on how to contribute to the project, take a look at CONTRIBUTING.md.
Reference
If you use Optuna in one of your research projects, please cite our KDD paper "Optuna: A Next-generation Hyperparameter Optimization Framework":