orion

Asynchronous Distributed Hyperparameter Optimization.

https://github.com/epistimio/orion

Science Score: 51.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 43 committers (2.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.5%) to scientific vocabulary

Keywords

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

Keywords from Contributors

optimizing-compiler tensors theano term-rewriting-system automatic-differentiation aesara symbolic-computation transpiler interactive network-simulation
Last synced: 4 months ago · JSON representation ·

Repository

Asynchronous Distributed Hyperparameter Optimization.

Basic Info
  • Host: GitHub
  • Owner: Epistimio
  • License: other
  • Language: Python
  • Default Branch: develop
  • Homepage: https://orion.readthedocs.io
  • Size: 49.2 MB
Statistics
  • Stars: 300
  • Watchers: 14
  • Forks: 50
  • Open Issues: 225
  • Releases: 26
Topics
auto-ml deep-learning deep-neural-networks hyperparameter-optimization machine-learning research
Created over 8 years ago · Last pushed 4 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Roadmap

README.rst

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

Owner

  • Name: Epistímio
  • Login: Epistimio
  • Kind: organization

Citation (CITATION.bib)

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

GitHub Events

Total
  • Issues event: 3
  • Watch event: 12
  • Delete event: 1
  • Issue comment event: 5
  • Pull request review comment event: 1
  • Pull request review event: 1
  • Pull request event: 9
  • Fork event: 3
  • Create event: 1
Last Year
  • Issues event: 3
  • Watch event: 12
  • Delete event: 1
  • Issue comment event: 5
  • Pull request review comment event: 1
  • Pull request review event: 1
  • Pull request event: 9
  • Fork event: 3
  • Create event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 3,406
  • Total Committers: 43
  • Avg Commits per committer: 79.209
  • Development Distribution Score (DDS): 0.619
Past Year
  • Commits: 12
  • Committers: 6
  • Avg Commits per committer: 2.0
  • Development Distribution Score (DDS): 0.667
Top Committers
Name Email Commits
Xavier Bouthillier x****r@u****a 1,296
François Corneau-Tremblay c****0@g****m 504
Thomas Schweizer t****r@m****c 385
notoraptor s****o@g****m 269
Christos Tsirigotis t****f@g****m 213
Setepenre p****y@o****m 89
Xavier Bouthillier x****r@g****m 58
Setepenre p****r@g****m 57
donglinjy c****1@1****m 51
donglinjy d****j@c****m 48
Mirko Bronzi m****i@g****m 46
Reyhane Askari r****t@g****m 33
Arnaud Bergeron a****n@g****m 30
Simnol22 s****i@h****m 28
Olivier Breuleux b****x@g****m 27
xch x****o@c****m 26
Fabrice Normandin f****n@g****m 25
wagnersj w****e@c****m 21
Satya Ortiz-Gagne s****e@m****c 21
donglinjy m****n@g****m 20
Guillaume Alain g****n@g****m 17
Dendi Suhubdy s****d@i****a 17
bouthilx b****x 16
Hadrien Bertrand h****d@m****c 14
Michael Noukhovitch m****v@g****m 14
Pierre Delaunay p****e@d****o 12
Dmitriy Serdyuk s****y@g****m 9
Dendi Suhubdy 4****y 7
Thomas Schweizer t****h@g****m 7
Peter Henderson p****n@m****a 6
and 13 more...
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 65
  • Total pull requests: 76
  • Average time to close issues: 9 months
  • Average time to close pull requests: 2 months
  • Total issue authors: 16
  • Total pull request authors: 9
  • Average comments per issue: 0.62
  • Average comments per pull request: 0.75
  • Merged pull requests: 50
  • Bot issues: 0
  • Bot pull requests: 4
Past Year
  • Issues: 3
  • Pull requests: 7
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.29
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • bouthilx (23)
  • Delaunay (14)
  • lebrice (9)
  • notoraptor (4)
  • poutine-dejeuner (2)
  • NeilGirdhar (2)
  • mariam-jamal (1)
  • cometta (1)
  • Freakston (1)
  • Ale0x78 (1)
  • FrancoisPgm (1)
  • lpxhonneux (1)
  • fockboi-lgtm (1)
  • patrickmineault (1)
  • akulpillai (1)
Pull Request Authors
  • notoraptor (20)
  • Delaunay (14)
  • bouthilx (12)
  • lebrice (12)
  • NeilGirdhar (8)
  • Simnol22 (5)
  • github-actions[bot] (2)
  • dependabot[bot] (2)
  • patrickmineault (1)
Top Labels
Issue Labels
bug (26) feature (9) in review (7) enhancement (4) documentation (3) medium (3) low (2) short (2) dashboard (1) ci (1) critical (1) good first issue (1)
Pull Request Labels
ci (8) bug (6) feature (4) enhancement (4) dashboard (3) automated pr (2) dependencies (2) documentation (1)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 288 last-month
  • Total dependent packages: 2
    (may contain duplicates)
  • Total dependent repositories: 29
    (may contain duplicates)
  • Total versions: 73
  • Total maintainers: 2
pypi.org: orion

Asynchronous [black-box] Optimization

  • Versions: 21
  • Dependent Packages: 2
  • Dependent Repositories: 29
  • Downloads: 288 Last month
Rankings
Dependent repos count: 2.7%
Dependent packages count: 3.2%
Stargazers count: 3.9%
Average: 4.6%
Forks count: 5.8%
Downloads: 7.4%
Maintainers (2)
Last synced: 4 months ago
proxy.golang.org: github.com/epistimio/orion
  • Versions: 26
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 6.5%
Average: 6.7%
Dependent repos count: 7.0%
Last synced: 4 months ago
proxy.golang.org: github.com/Epistimio/orion
  • Versions: 26
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 6.5%
Average: 6.7%
Dependent repos count: 7.0%
Last synced: 4 months ago

Dependencies

dashboard/src/package.json npm
  • @commitlint/cli 17.0.1 development
  • @commitlint/config-conventional 7.6.0 development
  • @testing-library/dom ^8.13.0 development
  • @testing-library/jest-dom ^5.16.4 development
  • @testing-library/react ^12.1.5 development
  • @testing-library/user-event ^13.5.0 development
  • jest-canvas-mock ^2.4.0 development
  • lint-staged 12.4.2 development
  • prettier 1.19.1 development
  • sass 1.52.1 development
  • wait-for-expect 3.0.2 development
  • @carbon/grid 10.43.1
  • @carbon/icons-react 10.49.0
  • axios ^0.27.2
  • bootstrap ^4.6.1
  • carbon-components ^10.57.1
  • carbon-components-react ^7.57.1
  • carbon-icons ^7.0.7
  • plotly.js ^2.12.1
  • plotly.js-cartesian-dist-min ^2.12.1
  • react 16.14.0
  • react-bootstrap ^1.6.5
  • react-dom 16.14.0
  • react-plotly.js ^2.5.1
  • react-router-dom 5.3.3
  • react-scripts 5.0.1
  • react-sizeme ^2.6.12
dashboard/src/yarn.lock npm
  • 1615 dependencies
dev-requirements.txt pypi
  • tox *
docs/requirements.txt pypi
  • dask *
  • kaleido *
  • matplotlib *
  • numpydoc *
  • plotly *
  • sphinx *
  • sphinx-autoapi *
  • sphinx_gallery *
  • sphinx_rtd_theme *
  • sphinxcontrib.httpdomain *
docs/scripts/requirements.txt pypi
  • torch *
  • torchvision *
examples/scikitlearn-iris/requirements.txt pypi
  • orion *
  • scikit-learn *
setup.py pypi
  • AppDirs *
  • PyYAML *
  • cloudpickle *
  • falcon *
  • falcon-cors *
  • filelock *
  • gitpython *
  • gunicorn *
  • joblib *
  • kaleido *
  • numpy *
  • pandas *
  • plotly *
  • psutil *
  • pymongo >=3
  • pytest >=3.0.0
  • requests *
  • scikit-learn *
  • scikit-optimize *
  • scipy *
  • tabulate *
tests/functional/gradient_descent_algo/setup.py pypi
  • orion *
tests/requirements.txt pypi
  • ptera >=1.1.0
  • pytest >=3.6.0
  • pytest-custom_exit_code *
  • pytest-lazy-fixture *
  • pytest-mock *
  • pytest-timeout *
  • pytest-xdist *
  • scikit-learn *
  • selenium *
tests/stress/requirements.txt pypi
  • matplotlib *
.github/workflows/build.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v2 composite
  • actions/setup-python v3 composite
  • browser-actions/setup-firefox latest composite
  • codecov/codecov-action v3 composite
  • pypa/gh-action-pypi-publish master composite
  • supercharge/mongodb-github-action 1.8.0 composite
.github/workflows/dashboard-build.yml actions
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
  • peter-evans/create-pull-request v3 composite
.github/workflows/dashboard-src-new-with-playwright.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • actions/setup-python v2 composite
  • supercharge/mongodb-github-action 1.8.0 composite
.github/workflows/dashboard-src.yml.deactivated actions
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v3 composite
  • supercharge/mongodb-github-action 1.8.0 composite
.github/workflows/release-drafter.yml actions
  • release-drafter/release-drafter v5 composite
.github/workflows/release_master_dev_resync.yml actions
  • actions/checkout v2 composite
  • peter-evans/create-pull-request v3 composite
examples/huggingface/requirements.txt pypi
  • comet-ml *
  • datasets *
  • hydra *
  • hydra-orion-sweeper *
  • transformers *
.github/workflows/orion/orion_config.yaml actions
.github/workflows/orion/orion_config_mongodb.yaml actions
src/orion/core/cli/db/setup.py pypi