syne_tune.optimizer.schedulers.single_fidelity_scheduler module
- class syne_tune.optimizer.schedulers.single_fidelity_scheduler.SingleFidelityScheduler(config_space, metrics, do_minimize=True, searcher='random_search', random_seed=None, searcher_kwargs=None)[source]
Bases:
TrialSchedulerScheduler class for both single- and multi-objective methods that optimize using a single fidelity only, e.g., the highest amount of resources.
- Parameters:
config_space (
Dict[str,Any]) – Configuration space for evaluation functionmetrics (
List[str]) – Name of metric to optimize, key in results obtained viaon_trial_result.do_minimize (
Optional[bool]) – True if we minimize the objective functionsearcher (
Union[str,BaseSearcher,None]) – Searcher forget_configdecisions. String values are passed tosearcher_factory()along withsearch_optionsand extra information. Supported values:SUPPORTED_SEARCHERS_FIFO. Defaults to “random_search” (i.e., random search)random_seed (
Optional[int]) – Seed for initializing random number generators.searcher_kwargs (
Optional[dict]) – Additional arguments for the searcher.
- suggest()[source]
Returns a suggestion for a new trial, or one to be resumed
This method returns
suggestionof typeTrialSuggestion(unless there is no config left to explore, and None is returned).If
suggestion.spawn_new_trial_idisTrue, a new trial is to be started with configsuggestion.config. Typically, this new trial is started from scratch. But ifsuggestion.checkpoint_trial_idis given, the trial is to be (warm)started from the checkpoint written for the trial with this ID. The new trial has IDtrial_id.If
suggestion.spawn_new_trial_idisFalse, an existing and currently paused trial is to be resumed, whose ID issuggestion.checkpoint_trial_id. If this trial has a checkpoint, we start from there. In this case,suggestion.configis optional. If not given (default), the config of the resumed trial does not change. Otherwise, its config is overwritten bysuggestion.config(seeHyperbandSchedulerwithtype="promotion"for an example why this can be useful).Apart from the HP config, additional fields can be appended to the dict, these are passed to the trial function as well.
- Return type:
Optional[TrialSuggestion]- Returns:
Suggestion for a trial to be started or to be resumed, see above. If no suggestion can be made, None is returned
- on_trial_result(trial, result)[source]
Called on each intermediate result reported by a trial.
At this point, the trial scheduler can make a decision by returning one of
SchedulerDecision.CONTINUE,SchedulerDecision.PAUSE, orSchedulerDecision.STOP. This will only be called when the trial is currently running.- Parameters:
trial (
Trial) – Trial for which results are reportedresult (
Dict[str,Any]) – Result dictionary
- Return type:
str- Returns:
Decision what to do with the trial
- on_trial_complete(trial, result)[source]
Notification for the completion of trial.
Note that
on_trial_result()is called with the same result before. However, if the scheduler only uses one final report from each trial, it may ignoreon_trial_result()and just useresulthere.- Parameters:
trial (
Trial) – Trial which is completingresult (
Dict[str,Any]) – Result dictionary