An open API service indexing awesome lists of open source software.

https://github.com/epistimio/orion

Asynchronous Distributed Hyperparameter Optimization.
https://github.com/epistimio/orion

auto-ml deep-learning deep-neural-networks hyperparameter-optimization machine-learning research

Last synced: 2 months ago
JSON representation

Asynchronous Distributed Hyperparameter Optimization.

Awesome Lists containing this project

README

          

*****
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
`_
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*

- `Adopt it `_ with a single line of code
- `Natively asynchronous `_, thus resilient and easy to parallelize
- Offers the latest established hyperparameter `algorithms `_
- Elegant and rich `search-space definitions `_
- Comprehensive `configuration `_ system with smart defaults
- Transparent persistence in local or remote `database `_
- `Integrate seamlessly `_ your own
hyper-optimization algorithms
- `Language `_
and `configuration file `_ agnostic

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
=============

- 2021-07-14 - SciPy 2021 (`Video `__) (`Slides `__)
- 2021-05-19 - Dask Summit 2021 (`Video `__) (`Slides `__)
- 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 `_:

- Issue Tracker: ``_
- Source Code: ``_

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 `_.

License
=======

The project is licensed under the `BSD license `_.