Easy-to-use library for Bayesian optimization, with support for neural network surrogates.
Project description
 [](https://pypi.org/project/deepopt/)  [](https://github.com/LLNL/deepopt/issues) [](https://github.com/LLNL/deepopt/pulls)
<!– This page needs links once the repo is released and docs are published –>
Visit the [DeepOpt documentation](./docs/README.md) for more information on DeepOpt that’s not covered in this README.
## What is DeepOpt?
DeepOpt is a simple and easy-to-use library for performing Bayesian optimization, leveraging the powerful capabilities of [BoTorch](https://botorch.org/). Its key feature is the ability to use neural networks as surrogate functions during the optimization process, allowing Bayesian optimization to work smoothly even on large datasets and in many dimensions. DeepOpt also provides simplified wrappers for BoTorch fitting and optimization routines.
### Key Commands
The DeepOpt library comes equipped with two cornerstone commands:
Learn: The learn command trains a machine learning model on a given set of data. Users can select between a neural network or Gaussian process (GP) model, with support for additional models in the future. Uncertainty quantification (UQ) is available in all models (neural nets currently use the delta-UQ method), allowing for direct use in a Bayesian optmization workflow. The learn command supports multi-fidelity modeling with an arbitrary number of fidelities.
Optimize: The optimize command takes the previously trained model created through the learn command and runs a single Bayesian optimization step, proposing a set of candidate points aimed at improving the value of the objective function (output of the learned model). The user can choose between several available acquisition methods for selecting the candidate points. Support for optimization under input uncertainty and risk is available.
## Why DeepOpt?
DeepOpt is a powerful and versatile Bayesian optimization framework that provides users with the flexibility to choose between Gaussian process (GP) and neural network (NN) surrogates. This flexibility empowers users to select the most suitable surrogate model for their specific optimization problem, taking into account factors such as the complexity of the objective function and the available computational resources.
## Installation
DeepOpt is available via [PyPI](https://pypi.org/) and can be easily installed with:
`bash pip install deepopt `
For a quick start guide, see [Getting Started with DeepOpt](./docs/index.md#getting-started-with-deepopt).
## Contributing
See the [Contributing Page](./docs/contributing.md).
## Contact Us
Email: [deepopt@llnl.gov](mailto:deepopt@llnl.gov)
Teams (LC users only): [DeepOpt Teams Page](https://teams.microsoft.com/l/team/19%3aZtbEv_dMMAmf5ObemhhCg1rwtlONspUfpOqSHyNYTQg1%40thread.tacv2/conversations?groupId=30e71349-7146-441a-befd-b938f465499a&tenantId=a722dec9-ae4e-4ae3-9d75-fd66e2680a63)
## License
DeepOpt is released under an MIT license. For more information, please see the [LICENSE](./LICENSE.md) and the [NOTICE](./NOTICE.md).
LLNL-CODE-2006544
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file deepopt-0.1.8.tar.gz.
File metadata
- Download URL: deepopt-0.1.8.tar.gz
- Upload date:
- Size: 35.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a78f2b00d579d110c1e37762d3b779a3e1ac1df7de919d38eaec6b1026a5d58
|
|
| MD5 |
a4495786fa6d9acafdcd7800003406dc
|
|
| BLAKE2b-256 |
e358d543611eff30fb13b4458ed0b9a47ba254679fffb8ad94b884d4854d269c
|
Provenance
The following attestation bundles were made for deepopt-0.1.8.tar.gz:
Publisher:
publish-python.yml on LLNL/deepopt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
deepopt-0.1.8.tar.gz -
Subject digest:
1a78f2b00d579d110c1e37762d3b779a3e1ac1df7de919d38eaec6b1026a5d58 - Sigstore transparency entry: 248696555
- Sigstore integration time:
-
Permalink:
LLNL/deepopt@bfc7f6867c7878918eefc840c84490aba2f55741 -
Branch / Tag:
refs/tags/v0.1.8 - Owner: https://github.com/LLNL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python.yml@bfc7f6867c7878918eefc840c84490aba2f55741 -
Trigger Event:
release
-
Statement type:
File details
Details for the file deepopt-0.1.8-py3-none-any.whl.
File metadata
- Download URL: deepopt-0.1.8-py3-none-any.whl
- Upload date:
- Size: 36.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62e4193aacea7ffe715e37495a4766419e171e1fa0e9f988af90b42e79f01b43
|
|
| MD5 |
8b386c56bd05f95eb655bd53aa2ff36d
|
|
| BLAKE2b-256 |
3699f75e4e4e858cadfdbac7288ec61e84f58cc913ed0c69bf5f4b4c6ae66a9d
|
Provenance
The following attestation bundles were made for deepopt-0.1.8-py3-none-any.whl:
Publisher:
publish-python.yml on LLNL/deepopt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
deepopt-0.1.8-py3-none-any.whl -
Subject digest:
62e4193aacea7ffe715e37495a4766419e171e1fa0e9f988af90b42e79f01b43 - Sigstore transparency entry: 248696556
- Sigstore integration time:
-
Permalink:
LLNL/deepopt@bfc7f6867c7878918eefc840c84490aba2f55741 -
Branch / Tag:
refs/tags/v0.1.8 - Owner: https://github.com/LLNL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python.yml@bfc7f6867c7878918eefc840c84490aba2f55741 -
Trigger Event:
release
-
Statement type: