syne_tune.experiments.launchers.launch_remote_simulator module

syne_tune.experiments.launchers.launch_remote_simulator.get_hyperparameters(seed, method, experiment_tag, random_seed, configuration)[source]

Compose hyperparameters for SageMaker training job

Parameters:
  • seed (int) – Seed of repetition

  • method (str) – Method name

  • experiment_tag (str) – Tag of experiment

  • random_seed (int) – Master random seed

  • configuration (ConfigDict) – Configuration for the job

Return type:

Dict[str, Any]

Returns:

Dictionary of hyperparameters

syne_tune.experiments.launchers.launch_remote_simulator.launch_remote(entry_point, methods, benchmark_definitions, source_dependencies=None, extra_args=None, is_expensive_method=None)[source]

Launches sequence of SageMaker training jobs, each running an experiment with the simulator backend.

The loop runs over methods selected from methods. Different repetitions (seeds) are run sequentially in the remote job. However, if is_expensive_method(method_name) is true, we launch different remote jobs for every seed for this particular method. This is to cater for methods which are themselves expensive to run (e.g., involving Gaussian process based Bayesian optimization).

If benchmark_definitions is a single-level dictionary and no benchmark is selected on the command line, then all benchmarks are run sequentially in the remote job. However, if benchmark_definitions is two-level nested, we loop over the outer level and start separate remote jobs, each of which iterates over its inner level of benchmarks. This is useful if the number of benchmarks to iterate over is large.

Parameters:
  • entry_point (Path) – Script for running the experiment

  • methods (Dict[str, Any]) – Dictionary with method constructors; one is selected from command line arguments

  • benchmark_definitions (Union[Dict[str, SurrogateBenchmarkDefinition], Dict[str, Dict[str, SurrogateBenchmarkDefinition]]]) – Definitions of benchmarks, can be nested (see above)

  • source_dependencies (Optional[List[str]]) – If given, these are source dependencies for the SageMaker estimator, on top of Syne Tune itself

  • extra_args (Optional[List[Dict[str, Any]]]) – Extra arguments for command line parser, optional

  • is_expensive_method (Optional[Callable[[str], bool]]) – See above. The default is a predicative always returning False (no method is expensive)

syne_tune.experiments.launchers.launch_remote_simulator.launch_remote_experiments_simulator(configuration, entry_point, methods, benchmark_definitions, source_dependencies, is_expensive_method=None)[source]

Launches sequence of SageMaker training jobs, each running an experiment with the simulator backend.

The loop runs over methods selected from methods. Different repetitions (seeds) are run sequentially in the remote job. However, if is_expensive_method(method_name) is true, we launch different remote jobs for every seed for this particular method. This is to cater for methods which are themselves expensive to run (e.g., involving Gaussian process based Bayesian optimization).

If benchmark_definitions is a single-level dictionary and no benchmark is selected on the command line, then all benchmarks are run sequentially in the remote job. However, if benchmark_definitions is two-level nested, we loop over the outer level and start separate remote jobs, each of which iterates over its inner level of benchmarks. This is useful if the number of benchmarks to iterate over is large.

Parameters:
  • configuration (ConfigDict) – ConfigDict with parameters of the benchmark. Must contain all parameters from hpo_main_simulator.LOCAL_LOCAL_SIMULATED_BENCHMARK_REQUIRED_PARAMETERS

  • entry_point (Path) – Script for running the experiment

  • methods (Dict[str, Callable[[MethodArguments], TrialScheduler]]) – Dictionary with method constructors; one is selected from command line arguments

  • benchmark_definitions (Union[Dict[str, SurrogateBenchmarkDefinition], Dict[str, Dict[str, SurrogateBenchmarkDefinition]]]) – Definitions of benchmarks; one is selected from command line arguments

  • is_expensive_method (Optional[Callable[[str], bool]]) – See above. The default is a predicative always returning False (no method is expensive)