Skip to main content

Hydra Orion Sweeper plugin

Project description

Current PyPi Version Supported Python Versions codecov docs tests style

Provides a mechanism for Hydra applications to use Orion algorithms for the optimization of the parameters of any experiment.

See website for more information

Install

pip install hydra-orion-sweeper

Search Space

Orion defines 5 different dimensions that can be used to define your search space.

  • uniform(low, high, [discrete=False, precision=4, shape=None, default_value=None])

  • loguniform(low, high, [discrete=False, precision=4, shape=None, default_value=None])

  • normal(loc, scale, [discrete=False, precision=4, shape=None, default_value=None])

  • choices(*options)

  • fidelity(low, high, base=2)

Fidelity is a special dimension that is used to represent the training time, you can think of it as the epoch dimension.

Documentation

For in-depth documentation about the plugin and its configuration options you should refer to Orion as the plugin configurations are simply passed through.

Example

Configuration

defaults:
- override hydra/sweeper: orion

hydra:
    sweeper:
       params:
          a: "uniform(0, 1)"
          b: "uniform(0, 1)"

       orion:
          name: 'experiment'
          version: '1'

       algorithm:
          type: random
          config:
             seed: 1

       worker:
          n_workers: -1
          max_broken: 3
          max_trials: 100

       storage:
          type: legacy
          database:
             type: pickleddb
             host: 'database.pkl'

# Default values
a: 0
b: 0

Code

import hydra
from omegaconf import DictConfig

@hydra.main(config_path=".", config_name="config")
def main(cfg: DictConfig) -> float:
   """Simple main function"""
   a = cfg.a
   b = cfg.b

   return float(a + b)

if __name__ == "__main__":
   main()

Running

To run the hyper parameter optimization process you need to specify the --multirun argument.

python my_app.py --multirun

The search space can also be tweaked from the command line

python my_app.py --multirun batch_size=4,8,12,16 optimizer.name=Adam,SGD 'optimizer.lr="loguniform(0.001, 1.0)"'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hydra-orion-sweeper-1.5.1.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hydra_orion_sweeper-1.5.1-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file hydra-orion-sweeper-1.5.1.tar.gz.

File metadata

  • Download URL: hydra-orion-sweeper-1.5.1.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.16

File hashes

Hashes for hydra-orion-sweeper-1.5.1.tar.gz
Algorithm Hash digest
SHA256 e4637bf2e9bf192995b9cd2426376833b4c7b959f370809c08fcfbad5f3f1776
MD5 5fe8c20add3e553fa532d521a26e2c3a
BLAKE2b-256 a7c7dfcea2e25de8cb42b39630793d0b78c962598afe62de8fcecf8daed2b36b

See more details on using hashes here.

File details

Details for the file hydra_orion_sweeper-1.5.1-py3-none-any.whl.

File metadata

File hashes

Hashes for hydra_orion_sweeper-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 267f574dd7e53cad38d017b37327253f5a7e3b6c9b72d3914a19b7583cc39172
MD5 e6d6ff6630ed7cce12a9b9564e3173a7
BLAKE2b-256 efaec345b5bea0af5779696ba310ae7dfc819d85101ce17e206de775d2cd8bbe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page