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], environment: mlos_bench.environments.base_environment.Environment, 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 Environment and Optimizer are provided by the Launcher.

Parameters:
  • config (dict) – The configuration for the scheduler.

  • global_config (dict) – he global configuration for the experiment.

  • environment (Environment) – The environment to benchmark/optimize.

  • optimizer (Optimizer) – The optimizer to use.

  • storage (Storage) – The storage to use.

  • root_env_config (str) – Path to the root environment configuration.

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