OpenBox: Generalized and Efficient Blackbox Optimization System
OpenBox is an efficient and generalized blackbox optimization (BBO) system, which supports the following characteristics: 1) BBO with multiple objectives and constraints, 2) BBO with transfer learning, 3) BBO with distributed parallelization, 4) BBO with multi-fidelity acceleration and 5) BBO with early stops.
OpenBox is designed and developed by the AutoML team from the DAIR Lab at Peking University, and its goal is to make blackbox optimization easier to apply both in industry and academia, and help facilitate data science.
Software Artifacts
Standalone Python package.
Users can install the released package and use it using Python.
Distributed BBO service.
We adopt the “BBO as a service” paradigm and implement OpenBox as a managed general service for black-box optimization. Users can access this service via REST API conveniently, and do not need to worry about other issues such as environment setup, software maintenance, programming, and optimization of the execution. Moreover, we also provide a Web UI,
through which users can easily track and manage the tasks.
Design Goal
The design of OpenBox follows the following principles:
Ease of use: Minimal user effort, and user-friendly visualization for tracking and managing BBO tasks.
Targeting at openness and advancing AutoML ecosystems, we had also released few other open source projects.
MindWare: an open source system that provides end-to-end ML model training and inference capabilities.
Related Publications
OpenBox: A Generalized Black-box Optimization Service
Yang Li, Yu Shen, Wentao Zhang, Yuanwei Chen, Huaijun Jiang, Mingchao Liu, Jiawei Jiang, Jinyang Gao, Wentao Wu, Zhi Yang, Ce Zhang, Bin Cui; ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD 2021).
https://arxiv.org/abs/2106.00421
MFES-HB: Efficient Hyperband with Multi-Fidelity Quality Measurements
Yang Li, Yu Shen, Jiawei Jiang, Jinyang Gao, Ce Zhang, Bin Cui; The Thirty-Fifth AAAI Conference on Artificial Intelligence (AAAI 2021).
https://arxiv.org/abs/2012.03011
OpenBox Doc | OpenBox中文文档
OpenBox: Generalized and Efficient Blackbox Optimization System
OpenBox is an efficient and generalized blackbox optimization (BBO) system, which supports the following characteristics: 1) BBO with multiple objectives and constraints, 2) BBO with transfer learning, 3) BBO with distributed parallelization, 4) BBO with multi-fidelity acceleration and 5) BBO with early stops. OpenBox is designed and developed by the AutoML team from the DAIR Lab at Peking University, and its goal is to make blackbox optimization easier to apply both in industry and academia, and help facilitate data science.
Software Artifacts
Standalone Python package.
Users can install the released package and use it using Python.
Distributed BBO service.
We adopt the “BBO as a service” paradigm and implement OpenBox as a managed general service for black-box optimization. Users can access this service via REST API conveniently, and do not need to worry about other issues such as environment setup, software maintenance, programming, and optimization of the execution. Moreover, we also provide a Web UI, through which users can easily track and manage the tasks.
Design Goal
The design of OpenBox follows the following principles:
Links
OpenBox Capabilities in a Glance
Installation
System Requirements
Installation Requirements:
Supported Systems:
We strongly suggest you to create a Python environment via Anaconda:
Then update your
pip
andsetuptools
as follows:Installation from PyPI
To install OpenBox from PyPI:
Manual Installation from Source
To install the newest OpenBox package, just type the following scripts on the command line:
(Python >= 3.7 only. For Python == 3.6, please see our Installation Guide Document)
For more details about installation instructions, please refer to the Installation Guide Document.
Quick Start
A quick start example is given by:
The example with multi-objectives and constraints is as follows:
More Examples:
Enterprise Users
Releases and Contributing
OpenBox has a frequent release cycle. Please let us know if you encounter a bug by filling an issue.
We appreciate all contributions. If you are planning to contribute any bug-fixes, please do so without further discussions.
If you plan to contribute new features, new modules, etc. please first open an issue or reuse an existing issue, and discuss the feature with us.
To learn more about making a contribution to OpenBox, please refer to our How-to contribution page.
We appreciate all contributions and thank all the contributors!
Feedback
Related Projects
Targeting at openness and advancing AutoML ecosystems, we had also released few other open source projects.
Related Publications
OpenBox: A Generalized Black-box Optimization Service Yang Li, Yu Shen, Wentao Zhang, Yuanwei Chen, Huaijun Jiang, Mingchao Liu, Jiawei Jiang, Jinyang Gao, Wentao Wu, Zhi Yang, Ce Zhang, Bin Cui; ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD 2021). https://arxiv.org/abs/2106.00421
MFES-HB: Efficient Hyperband with Multi-Fidelity Quality Measurements Yang Li, Yu Shen, Jiawei Jiang, Jinyang Gao, Ce Zhang, Bin Cui; The Thirty-Fifth AAAI Conference on Artificial Intelligence (AAAI 2021). https://arxiv.org/abs/2012.03011
License
The entire codebase is under MIT license.