Asynchronous Distributed Hyperparameter Optimization.
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
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=50looks 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_.
.. _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
Effortless to adopt, deeply customizable
Adopt it_ with a single line of code
Natively asynchronous_, thus resilient and easy to parallelize
algorithms_
search-space definitions_
configuration_ system with smart defaults
database_
Integrate seamlessly_ your own hyper-optimization algorithms
Language_ and
configuration file_ agnostic
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
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!
If you use Oríon for published work, please cite our work using the following bibtex entry.
.. code-block:: bibtex
@software{xavierbouthillier2020_4265424, author = {Xavier Bouthillier and Christos Tsirigotis and François Corneau-Tremblay and Thomas Schweizer and Pierre Delaunay and Mirko Bronzi and Lin Dong and Reyhane Askari and Dendi Suhubdy and Hadrien Bertrand and Michael Noukhovitch and Arnaud Bergeron and Dmitriy Serdyuk and Peter Henderson and Pascal Lamblin and Christopher Beckham}, title = {{Epistimio/orion: Plotting API and Database commands}}, month = nov, year = 2020, publisher = {Zenodo}, version = {v0.1.14}, doi = {10.5281/zenodo.3478592}, url = {https://doi.org/10.5281/zenodo.3478592} }
See
ROADMAP.md_.
The project is licensed under the
BSD license_.