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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

Supported by

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