Skip to main content

Simple framework for optimization functions and metamodels

Project description

Optilab

License: GPL v3 Docker Pulls Read the Docs

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

optilab-23-py3-none-any.whl (52.4 kB view details)

Uploaded Python 3

File details

Details for the file optilab-23-py3-none-any.whl.

File metadata

  • Download URL: optilab-23-py3-none-any.whl
  • Upload date:
  • Size: 52.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for optilab-23-py3-none-any.whl
Algorithm Hash digest
SHA256 1e290408272f387f0c4122f22aecdbce761caa782860970c08125ae1bfe57585
MD5 4c5c9165a3645afd426985d42e3324b6
BLAKE2b-256 ae3e4fef612e5a3b6ab7f6ed0a2009a6815e84b870cfff243caf0dda795189ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for optilab-23-py3-none-any.whl:

Publisher: pypi.yml on mlojek/optilab

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page