mlos_bench.schedulers.sync_scheduler

A simple single-threaded synchronous optimization loop implementation.

Classes

SyncScheduler

A simple single-threaded synchronous optimization loop implementation.

Module Contents

class mlos_bench.schedulers.sync_scheduler.SyncScheduler(*, config: dict[str, Any], global_config: dict[str, Any], trial_runners: collections.abc.Iterable[mlos_bench.schedulers.trial_runner.TrialRunner], optimizer: mlos_bench.optimizers.base_optimizer.Optimizer, storage: mlos_bench.storage.base_storage.Storage, root_env_config: str)[source]

Bases: mlos_bench.schedulers.base_scheduler.Scheduler

A simple single-threaded synchronous optimization loop implementation.

Create a new instance of the scheduler. The constructor of this and the derived classes is called by the persistence service after reading the class JSON configuration. Other objects like the TrialRunner(s) and their Environment(s) and Optimizer are provided by the Launcher.

Parameters:
run_trial(trial: mlos_bench.storage.base_storage.Storage.Trial) None[source]

Set up and run a single trial.

Save the results in the storage.

Parameters:

trial (mlos_bench.storage.base_storage.Storage.Trial)

Return type:

None

start() None[source]

Start the optimization loop.

Return type:

None