Skip to main content

Tools for benchmarking optimization methods

Project description

Benchmarx: Benchmarking Optimization Methods with Jax

Benchmarx is a Python library that enables you to benchmark various optimization methods in a reproducible manner using the Jax library. It provides a flexible framework for comparing the performance of different optimization algorithms on a wide range of optimization problems.

Features

  • Benchmarx allows you to easily benchmark optimization algorithms provided by the Jaxopt library as well as custom algorithms.
  • Reproducibility is ensured by providing a comprehensive set of parameters to control the benchmarking process, including RNG states.
  • Comes with a collection of standard optimization problems, making it simple to evaluate algorithms on diverse tasks.
  • Supports tracking and visualization of key metrics such as function values, gradient norms(if possible) and solution trajectories.
  • Generate customizable plots and reports to aid in analyzing and presenting benchmark results with plotly library.
  • All the data from the experiments could be saved in the json or pandas format for the later analysis.

Installation

You can install Benchmarx using pip:

pip install benchmarx

Usage

To be done

Examples

Refer to the examples provided in the repository for details on how to use this package.

  • Gradient Descent on Quadratic problem Open In Colab

  • Gradient Descent with custom Line Search Open In Colab

  • Your own custom method Open In Colab

  • Your own custom metric and interactive chart Open In Colab

  • Stochastic Gradient Descent on Quadratic Problem Open In Colab

  • Quadratic Problem based on real data Open In Colab

  • Neural Network training Open In Colab

Documentation

Check out the full documentation at benchmarx.fmin.xyz.

Contribution

Contributions are welcome! If you have any suggestions or issues, feel free to open an issue or submit 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

benchmarx-0.0.11.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

benchmarx-0.0.11-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

Details for the file benchmarx-0.0.11.tar.gz.

File metadata

  • Download URL: benchmarx-0.0.11.tar.gz
  • Upload date:
  • Size: 27.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for benchmarx-0.0.11.tar.gz
Algorithm Hash digest
SHA256 338b0513cc4d802e9cf81c3900c4bd115dd334a224cb5045d5dfddf62c8eabb2
MD5 6f83a5a585a66db3dcab02e03cd9df4b
BLAKE2b-256 6fefbc678ad30247f642000f96c7ce880942c38cb5742e75b3e51abf3a5b531c

See more details on using hashes here.

File details

Details for the file benchmarx-0.0.11-py3-none-any.whl.

File metadata

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

File hashes

Hashes for benchmarx-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 ec912fa947670f00987a849021753d8f955e8bc379cd1cd666653b2636c91d55
MD5 c9c51cce9eeac57fc3dbe5007c7d0819
BLAKE2b-256 c2fe44dbe77e8aa07c1aed596f1432394849ea83e4c9eba603b104981fd4efd0

See more details on using hashes here.

Supported by

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