Skip to main content

Run algorithms, store and compare their outputs

Project description

SHOOTOUT toolbox

Why I wrote this package

Comparing numerical optimization algorithms is always a pain for me. Things I hate to do:

  • writing lots of loops for testing various hyperparameters.
  • writing the code to store the results, painfully changing details all the time.
  • comparing algorithms in a fair manner though lengthy plotting scripts.
  • comming back to old codes for review updates a year after the simulations, and finding I did not store all the hyperpameters by mistake.
  • looking up plotly syntax when updating plots, every single time.
  • reading papers that compare algorithms in one run/one set of parameters.

Plus I am a very chaotic person, changing workflow every single paper. So I needed some tools to balance this entropy and make my life easier.

What this does

  • Using a decorator function @run_and_track(), one may run a script many times with user-defined hyperparameters grid; store all the results in clearly formatted pandas dataframe usable by plotly express.
  • provide a few helpful functions for processing this dataframe, to produce interesting comparison plots (convergence plots, who is fastest at given threshold plots)

Installation

The package can be pip installed using

pip install shootout-opt

or by cloning the repo and running

pip install -e .

with root in the root folder of this package.

TODOS

  • TODO: auto-tests on push on github
  • TODO: sphynx doc, online
  • TODO: pipelines
  • TODO: examples

Feedback

I wrote this for myself, but if you have some ideas for improvements or new features, feel free to drop an issue or a pull request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shootout-opt-0.2.3.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

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

shootout_opt-0.2.3-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file shootout-opt-0.2.3.tar.gz.

File metadata

  • Download URL: shootout-opt-0.2.3.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for shootout-opt-0.2.3.tar.gz
Algorithm Hash digest
SHA256 9e3ed48258bca1beedb56fedc9508ddf2582dbd1defce6da84b6508ebeff9cf9
MD5 18759f49dd0d96d729edb4d127c8e570
BLAKE2b-256 73c700fb39198636b749d4b24517f223c82411fa7c422086407d7b12c3397d5d

See more details on using hashes here.

File details

Details for the file shootout_opt-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: shootout_opt-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for shootout_opt-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6a7c7188571a9d13ee1c222057a57e8e80d24338b6ce94c72c23623f4cc8caea
MD5 ee05c1d6ad0adf2ca53889d933162c2d
BLAKE2b-256 bf6387f2fc0d1519bfdac068a98e7cfca86a50ab466799f3aa55a195ecf27d66

See more details on using hashes here.

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