Simple framework for optimization functions and metamodels
Project description
Optilab
Optilab is a lightweight and flexible python framework for testing black-box optimization.
Features
- ✅ Intuitive interface to quickly prototype and run optimizers and metamodels.
- 📚 High quality documentation.
- 📈 Objective functions, optimizers, plotting and data handling.
- ⋙ CLI functionality to easily summarize results of previous experiments.
- 🚀 Multiprocessing for faster computation.
How to install
Optilab has been tested to work on python versions 3.11 and above. To install it from PyPI, run:
pip install optilab
You can also install from source by cloning this repo and running:
make install
Try the demos
Learn how to use optilab and fit it to your needs with demo notebooks in demo directory.
CLI tool
Optilab comes with a powerful CLI tool to easily summarize your experiments. It allows for plotting the results and performing statistical testing to check for statistical significance in optimization results.
usage: optilab [-h] [--aggregate_pvalues] [--aggregate_stats] [--entries ENTRIES [ENTRIES ...]]
[--hide_outliers] [--hide_plots] [--no_save] [--raw_values]
[--save_path SAVE_PATH] [--siginificance SIGINIFICANCE] [--test_evals] [--test_y]
pickle_path
Optilab CLI utility.
positional arguments:
pickle_path Path to pickle file or directory with optimization runs.
options:
-h, --help show this help message and exit
--aggregate_pvalues Aggregate pvalues of stat tests against run 0 in each pickle file into
one table.
--aggregate_stats Aggregate median and iqr for all processed runs into one table.
--entries ENTRIES [ENTRIES ...]
Space separated list of indexes of entries to include in analysis.
--hide_outliers If specified, outliers will not be shown in the box plot.
--hide_plots Hide plots when running the script.
--no_save If specified, no artifacts will be saved.
--raw_values If specified, y values below tolerance are not substituted by tolerance
value.
--save_path SAVE_PATH
Path to directory to save the artifacts. Default is the user's working
directory.
--significance SIGNIFICANCE
Statistical significance of the U tests. Default value is 0.05.
--test_evals Perform Mann-Whitney U test on eval values.
--test_y Perform Mann-Whitney U test on y values.
Docker
This project comes with a docker container. You can pull it from dockerhub:
docker pull mlojek/optilab
Or build it yourself:
make docker
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
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 optilab-27-py3-none-any.whl.
File metadata
- Download URL: optilab-27-py3-none-any.whl
- Upload date:
- Size: 55.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 |
1b34c5d53ef52bb02888aaa467fc8ddc4d132891ef9581a2b8dec6cd45cf4550
|
|
| MD5 |
f276deaea8f1da41561ef399a37b8371
|
|
| BLAKE2b-256 |
6c834970c61079c1e163c5c50c8f45995fff11542bf5bed75722016b2626de50
|
Provenance
The following attestation bundles were made for optilab-27-py3-none-any.whl:
Publisher:
pypi.yml on mlojek/optilab
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
optilab-27-py3-none-any.whl -
Subject digest:
1b34c5d53ef52bb02888aaa467fc8ddc4d132891ef9581a2b8dec6cd45cf4550 - Sigstore transparency entry: 412803533
- Sigstore integration time:
-
Permalink:
mlojek/optilab@d22a7556b46ace0b3a2ea6912ea858919ba382d0 -
Branch / Tag:
refs/tags/27 - Owner: https://github.com/mlojek
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@d22a7556b46ace0b3a2ea6912ea858919ba382d0 -
Trigger Event:
release
-
Statement type: