Skip to content

Making your benchmark of optimization algorithms simple and open

License

Notifications You must be signed in to change notification settings

SimonDelamare/benchopt

 
 

Repository files navigation

Benchmark repository for optimization

Test Status Python 3.6+ codecov

BenchOpt is a benchmarking suite for optimization algorithms. It is built for simplicity, transparency, and reproducibility.

Benchopt is implemented in Python, and can run algorithms written in many programming languages (example). So far, Benchopt has been tested with Python, R, Julia and C/C++ (compiled binaries with a command line interface). Programs available via conda should be compatible.

BenchOpt is run through a command line interface as described in the API Documentation. Replicating an optimization benchmark should be as simple as doing:

pip install benchopt
git clone https://github.com/benchopt/benchmark_logreg_l2
benchopt install -e benchmark_logreg_l2
benchopt run --env ./benchmark_logreg_l2

Running this command will give you a benchmark plot on l2-regularized logistic regression:

https://benchopt.github.io/_images/sphx_glr_plot_run_benchmark_001.png

See the List of optimization problems available below.

Learn how to create a new benchmark using the benchmark template.

Install

The command line tool to run the benchmarks can be installed through pip. To get the latest release, use:

pip install benchopt

To get the latest development version, use:

pip install -U -i https://test.pypi.org/simple/ benchopt

Then, existing benchmarks can be retrieved from git or created locally. For instance, the benchmark for Lasso can be retrieved with:

git clone https://github.com/benchopt/benchmark_lasso

Command line usage

To run the Lasso benchmark on all datasets and with all solvers, run:

benchopt run --env ./benchmark_lasso

To get more details about the different options, run:

benchopt run -h

or read the API Documentation.

List of optimization problems available

About

Making your benchmark of optimization algorithms simple and open

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 85.2%
  • CSS 4.8%
  • HTML 4.8%
  • JavaScript 4.5%
  • R 0.3%
  • Shell 0.2%
  • Other 0.2%