Hydra Orion Sweeper plugin
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for hydra-orion-sweeper-1.5.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4637bf2e9bf192995b9cd2426376833b4c7b959f370809c08fcfbad5f3f1776 |
|
MD5 | 5fe8c20add3e553fa532d521a26e2c3a |
|
BLAKE2b-256 | a7c7dfcea2e25de8cb42b39630793d0b78c962598afe62de8fcecf8daed2b36b |
Hashes for hydra_orion_sweeper-1.5.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 267f574dd7e53cad38d017b37327253f5a7e3b6c9b72d3914a19b7583cc39172 |
|
MD5 | e6d6ff6630ed7cce12a9b9564e3173a7 |
|
BLAKE2b-256 | efaec345b5bea0af5779696ba310ae7dfc819d85101ce17e206de775d2cd8bbe |