Oríon

Current PyPi Version Supported Python Versions BSD 3-clause license DOI Documentation Status Codecov Report Github actions tests

Oríon is an asynchronous framework for black-box function optimization.

Its purpose is to serve as a meta-optimizer for machine learning models and training, as well as a flexible experimentation platform for large scale asynchronous optimization procedures.

Core design value is the minimum disruption of a researcher’s workflow. It allows fast and efficient tuning, providing minimum simple non-intrusive (not even necessary!) helper client interface for a user’s script.

So if ./run.py --mini-batch=50 looks like what you execute normally, now what you have to do looks like this:

orion -n experiment_name ./run.py --mini-batch~'randint(32, 256)'

Check out our getting started guide or this presentation for an overview, or our scikit-learn example for a more hands-on experience. Finally we encourage you to browse our documentation.

Why Oríon?

Effortless to adopt, deeply customizable

Installation

Install Oríon by running $ pip install orion. For more information consult the installation guide.

Presentations

  • 2021-07-14 - SciPy 2021

  • 2021-05-19 - Dask Summit 2021

  • 2021-03-16 - AICamp (Video) (Slides)

  • 2019-11-28 - Tech-talk @ Mila (Video) (Slides)

Contribute or Ask

Do you have a question or issues? Do you want to report a bug or suggest a feature? Name it! Please contact us by opening an issue in our repository below and checkout our contribution guidelines:

Start by starring and forking our Github repo!

Thanks for the support!

Citation

If you use Oríon for published work, please cite our work using the following bibtex entry.

@software{xavier_bouthillier_2022_0_2_2,
  author       = {Xavier Bouthillier and
                  Christos Tsirigotis and
                  François Corneau-Tremblay and
                  Thomas Schweizer and
                  Lin Dong and
                  Pierre Delaunay and
                  Fabrice Normandin and
                  Mirko Bronzi and
                  Dendi Suhubdy and
                  Reyhane Askari and
                  Michael Noukhovitch and
                  Chao Xue and
                  Satya Ortiz-Gagné and
                  Olivier Breuleux and
                  Arnaud Bergeron and
                  Olexa Bilaniuk and
                  Steven Bocco and
                  Hadrien Bertrand and
                  Guillaume Alain and
                  Dmitriy Serdyuk and
                  Peter Henderson and
                  Pascal Lamblin and
                  Christopher Beckham},
  title        = {{Epistimio/orion: Asynchronous Distributed Hyperparameter Optimization}},
  month        = feb,
  year         = 2022,
  publisher    = {Zenodo},
  version      = {v0.2.2},
  doi          = {10.5281/zenodo.3478592},
  url          = {https://doi.org/10.5281/zenodo.3478592}
}

Roadmap

See ROADMAP.md.

License

The project is licensed under the BSD license.