Skip to content

optuna/optuna-integration

Repository files navigation

Optuna-Integration

Python GitHub license Codecov Read the Docs

This package is an integration module of Optuna, an automatic Hyperparameter optimization software framework. The modules in this package provide users with extended functionalities for Optuna in combination with third-party libraries such as PyTorch, sklearn, and TensorFlow.

Note

You can find more information in our official documentations and API reference.

Installation

Optuna-Integration is available via pip and on conda.

# PyPI
$ pip install optuna-integration

# Anaconda Cloud
$ conda install -c conda-forge optuna-integration

Important

As dependencies of all the modules are large and complicated, the commands above install only the common dependencies. Dependencies for each module are described in requirements.txt in the corresponding directory and we kindly ask users to separately install them.

Note

Optuna-Integration supports from Python 3.7 to Python 3.11. Optuna Docker image is also provided at DockerHub.

Integration Modules

Here is the table of optuna-integration modules:

Third Party Library Example
BoTorch Unavailable
CatBoost CatBoostPruningCallback
Dask DaskStorage
FastAI FastAIPruningCallback
Keras KerasPruningCallback
LightGBM LightGBMPruningCallback / LightGBMTuner
MLflow MLflowCallback
MXNet Unavailable
PyTorch Distributed TorchDistributedTrial
PyTorch Ignite PyTorchIgnitePruningHandler
PyTorch Lightning PyTorchLightningPruningCallback
pycma Unavailable
SHAP Unavailable
scikit-learn OptunaSearchCV
skorch SkorchPruningCallback
TensorBoard TensorBoardCallback
tf.keras TFKerasPruningCallback
Weights & Biases WeightsAndBiasesCallback
XGBoost XGBoostPruningCallback
AllenNLP* AllenNLPPruningCallback
Chainer* ChainerPruningExtension
ChainerMN* ChainerMNStudy

Warning

* shows deprecated modules and they might be removed in the future.

Communication

Contribution

Any contributions to Optuna-Integration are more than welcome!

For general guidelines 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":

BibTeX
@inproceedings{akiba2019optuna,
  title={{O}ptuna: A Next-Generation Hyperparameter Optimization Framework},
  author={Akiba, Takuya and Sano, Shotaro and Yanase, Toshihiko and Ohta, Takeru and Koyama, Masanori},
  booktitle={The 25th ACM SIGKDD International Conference on Knowledge Discovery \& Data Mining},
  pages={2623--2631},
  year={2019}
}