Skip to content

Commit

Permalink
Merge pull request #418 from bouthilx/hotfix/algo_func_tests
Browse files Browse the repository at this point in the history
Convert functional algo tests to python API

Failing backward-compatibility tests due to orion.core pypi project deletion. Fix coming in another PR.
  • Loading branch information
bouthilx authored Jul 2, 2020
2 parents 1571fb3 + cad2ddc commit 7c68109
Show file tree
Hide file tree
Showing 9 changed files with 163 additions and 233 deletions.
6 changes: 1 addition & 5 deletions src/orion/algo/hyperband.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,6 @@ def __init__(self, space, seed=None, repetitions=numpy.inf):
for bracket_budgets in self.budgets
]

self.seed_rng(seed)

def sample(self, num, bracket, buffer=10):
"""Sample new points from bracket"""
sample_buffer = bracket.rungs[0]['n_trials'] * buffer
Expand Down Expand Up @@ -186,7 +184,7 @@ def seed_rng(self, seed):
"""
self.seed = seed
for i, bracket in enumerate(self.brackets):
bracket.seed_rng(seed + i if seed is not None else None)
bracket.seed_rng(self.executed_times + seed + i if seed is not None else None)
self.rng = numpy.random.RandomState(seed)

@property
Expand Down Expand Up @@ -276,8 +274,6 @@ def _refresh_bracket(self):
Bracket(self, bracket_budgets, self.executed_times + 1)
for bracket_budgets in self.budgets
]
if self.seed is not None:
self.seed += 1

def _get_bracket(self, point):
"""Get the bracket of a point during observe"""
Expand Down
21 changes: 11 additions & 10 deletions src/orion/client/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,18 +225,19 @@ def workon(function, space, name='loop', algorithms=None, max_trials=None):
# Clear singletons and keep pointers to restore them.
singletons = update_singletons()

setup_storage(storage={'type': 'legacy', 'database': {'type': 'EphemeralDB'}})

experiment = experiment_builder.build(
name, version=1, space=space, algorithms=algorithms,
strategy='NoParallelStrategy', max_trials=max_trials)
try:
setup_storage(storage={'type': 'legacy', 'database': {'type': 'EphemeralDB'}})

producer = Producer(experiment)
experiment = experiment_builder.build(
name, version=1, space=space, algorithms=algorithms,
strategy='NoParallelStrategy', max_trials=max_trials)

experiment_client = ExperimentClient(experiment, producer)
experiment_client.workon(function, max_trials=max_trials)
producer = Producer(experiment)

# Restore singletons
update_singletons(singletons)
experiment_client = ExperimentClient(experiment, producer)
experiment_client.workon(function, max_trials=max_trials)
finally:
# Restore singletons
update_singletons(singletons)

return experiment_client
21 changes: 0 additions & 21 deletions tests/functional/algos/asha_config.yaml

This file was deleted.

46 changes: 0 additions & 46 deletions tests/functional/algos/black_box.py

This file was deleted.

13 changes: 0 additions & 13 deletions tests/functional/algos/hyperband.yaml

This file was deleted.

13 changes: 0 additions & 13 deletions tests/functional/algos/random_config.yaml

This file was deleted.

Loading

0 comments on commit 7c68109

Please sign in to comment.