mlos_bench.schedulers.sync_scheduler module

A simple single-threaded synchronous optimization loop implementation.

class mlos_bench.schedulers.sync_scheduler.SyncScheduler(*, config: Dict[str, Any], global_config: Dict[str, Any], environment: Environment, optimizer: Optimizer, storage: Storage, root_env_config: str)

Bases: Scheduler

A simple single-threaded synchronous optimization loop implementation.

Attributes:
max_trials

Gets the maximum number of trials to run for a given experiment, or -1 for no limit.

ran_trials

Get the list of trials that were run.

trial_config_repeat_count

Gets the number of trials to run for a given config.

trial_count

Gets the current number of trials run for the experiment.

Methods

get_best_observation()

Get the best observation from the optimizer.

load_config(config_id)

Load the existing tunable configuration from the storage.

not_done()

Check the stopping conditions.

run_trial(trial)

Set up and run a single trial.

schedule_trial(tunables)

Add a configuration to the queue of trials.

start()

Start the optimization loop.

teardown()

Tear down the environment.

run_trial(trial: Trial) None

Set up and run a single trial.

Save the results in the storage.

start() None

Start the optimization loop.