mlos_bench.optimizers.manual_optimizer

Manual config suggestor (Optimizer) for mlos_bench that proposes an explicit sequence of configurations.

This is useful for testing and validation, as it allows you to run a sequence of configurations in a cyclic fashion.

TODO: Add an example configuration.

Classes

ManualOptimizer

Optimizer that proposes an explicit sequence of tunable values.

Module Contents

class mlos_bench.optimizers.manual_optimizer.ManualOptimizer(tunables: mlos_bench.tunables.tunable_groups.TunableGroups, config: dict, global_config: dict | None = None, service: mlos_bench.services.base_service.Service | None = None)[source]

Bases: mlos_bench.optimizers.mock_optimizer.MockOptimizer

Optimizer that proposes an explicit sequence of tunable values.

Create a new optimizer for the given configuration space defined by the tunables.

Parameters:
  • tunables (TunableGroups) – The tunables to optimize.

  • config (dict) – Free-format key/value pairs of configuration parameters to pass to the optimizer.

  • global_config (Optional[dict])

  • service (Optional[Service])

suggest() mlos_bench.tunables.tunable_groups.TunableGroups[source]

Always produce the same sequence of explicit suggestions, in a cycle.

Return type:

mlos_bench.tunables.tunable_groups.TunableGroups

property supports_preload: bool[source]

Return True if the optimizer supports pre-loading the data from previous experiments.

Return type:

bool