[tune] hyperband (#1156)

* trial scheduler interface

* remove

* wip median stopping

* remove

* median stopping rule

* update

* docs

* update

* Revrt

* update

* hyperband untested

* small changes before moving on

* added endpoints

* good changes

* init tests

* smore tests

* unfinished tests

* testing

* testing code

* morbugs

* fixes

* end

* tests and typo

* nit

* try this

* tests

* testing

* lint

* lint

* lint

* comments and docs

* almost screwed up

* lint
This commit is contained in:
Richard Liaw
2017-11-06 22:30:25 -08:00
committed by GitHub
parent 7215f7d228
commit 6222ec3bd7
6 changed files with 578 additions and 9 deletions
+18
View File
@@ -12,6 +12,18 @@ class TrialScheduler(object):
PAUSE = "PAUSE"
STOP = "STOP"
def on_trial_add(self, trial_runner, trial):
"""Called when a new trial is added to the trial runner."""
raise NotImplementedError
def on_trial_error(self, trial_runner, trial):
"""Notification for the error of trial.
This will only be called when the trial is in the RUNNING state."""
raise NotImplementedError
def on_trial_result(self, trial_runner, trial, result):
"""Called on each intermediate result returned by a trial.
@@ -44,6 +56,12 @@ class TrialScheduler(object):
class FIFOScheduler(TrialScheduler):
"""Simple scheduler that just runs trials in submission order."""
def on_trial_add(self, trial_runner, trial):
pass
def on_trial_error(self, trial_runner, trial):
pass
def on_trial_result(self, trial_runner, trial, result):
return TrialScheduler.CONTINUE