Epistimio / orion

Asynchronous Distributed Hyperparameter Optimization.
https://orion.readthedocs.io
Other
287 stars 52 forks source link
auto-ml deep-learning deep-neural-networks hyperparameter-optimization machine-learning research

Oríon


|pypi| |py_versions| |license| |doi| |rtfd| |codecov| |github-actions|

.. |pypi| image:: https://img.shields.io/pypi/v/orion.svg :target: https://pypi.python.org/pypi/orion :alt: Current PyPi Version

.. |py_versions| image:: https://img.shields.io/pypi/pyversions/orion.svg :target: https://pypi.python.org/pypi/orion :alt: Supported Python Versions

.. |license| image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg :target: https://opensource.org/licenses/BSD-3-Clause :alt: BSD 3-clause license

.. |doi| image:: https://zenodo.org/badge/102697867.svg :target: https://zenodo.org/badge/latestdoi/102697867 :alt: DOI

.. |rtfd| image:: https://readthedocs.org/projects/orion/badge/?version=stable :target: https://orion.readthedocs.io/en/stable/?badge=stable :alt: Documentation Status

.. |codecov| image:: https://codecov.io/gh/Epistimio/orion/branch/master/graph/badge.svg :target: https://codecov.io/gh/Epistimio/orion :alt: Codecov Report

.. |github-actions| image:: https://github.com/Epistimio/orion/workflows/build/badge.svg?branch=master&event=pull_request :target: https://github.com/Epistimio/orion/actions?query=workflow:build+branch:master+event:schedule :alt: Github actions tests

.. image:: _static/logos/orion_logo_grid_150ppi.png :width: 400 :alt: Oríon

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 <https://bluejeans.com/playback/s/4WUezzFCmb9StHzYgB0RjVbTUCKnRcptBvzBMP7t2UpLyKuAq7Emieo911BqEMnI> for an overview, or our scikit-learn example for a more hands-on experience. Finally we encourage you to browse our documentation.

.. _getting started guide: https://orion.readthedocs.io/en/stable/install/gettingstarted.html .. _documentation: https://orion.readthedocs.io/ .. _scikit-learn example: https://orion.readthedocs.io/en/stable/tutorials/scikit-learn.html

Why Oríon?

Effortless to adopt, deeply customizable

Installation

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

.. _installation guide: https://orion.readthedocs.io/en/stable/install/core.html

Presentations

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 <https://github.com/Epistimio/orion/blob/develop/CONTRIBUTING.md>_:

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.

.. code-block:: bibtex

@software{xavier_bouthillier_2022_0_2_6, 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 = august, year = 2022, publisher = {Zenodo}, version = {v0.2.6, doi = {10.5281/zenodo.3478592}, url = {https://doi.org/10.5281/zenodo.3478592} }

Roadmap

See ROADMAP.md <https://github.com/Epistimio/orion/blob/master/ROADMAP.md>_.

License

The project is licensed under the BSD license <https://github.com/Epistimio/orion/blob/master/LICENSE>_.