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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e3ed48258bca1beedb56fedc9508ddf2582dbd1defce6da84b6508ebeff9cf9
|
|
| MD5 |
18759f49dd0d96d729edb4d127c8e570
|
|
| BLAKE2b-256 |
73c700fb39198636b749d4b24517f223c82411fa7c422086407d7b12c3397d5d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a7c7188571a9d13ee1c222057a57e8e80d24338b6ce94c72c23623f4cc8caea
|
|
| MD5 |
ee05c1d6ad0adf2ca53889d933162c2d
|
|
| BLAKE2b-256 |
bf6387f2fc0d1519bfdac068a98e7cfca86a50ab466799f3aa55a195ecf27d66
|