ax.benchmark¶
Benchmark Problems¶
-
class
ax.benchmark.benchmark_problem.BenchmarkProblem[source]¶ Bases:
tupleContains features that describe a benchmarking problem: its name, its global optimum (maximum for maximization problems, minimum for minimization), its optimization configuration, and its search space.
Parameters: - name – name of this problem
- fbest – global optimum
- optimization_config – optimization configuration
- search_space – search space, on which this problem is defined
-
fbest¶ Alias for field number 1
-
name¶ Alias for field number 0
-
optimization_config¶ Alias for field number 2
-
search_space¶ Alias for field number 3
Benchmark Runner¶
-
class
ax.benchmark.benchmark_runner.BOBenchmarkRunner[source]¶ Bases:
ax.benchmark.benchmark_runner.BenchmarkRunner-
run_benchmark_run(setup, generation_strategy)[source]¶ Run a single full benchmark run of the given problem and method combination.
Return type: BenchmarkSetup
-
-
class
ax.benchmark.benchmark_runner.BanditBenchmarkRunner[source]¶ Bases:
ax.benchmark.benchmark_runner.BenchmarkRunner-
run_benchmark_run(setup, generation_strategy)[source]¶ Run a single full benchmark run of the given problem and method combination.
Return type: BenchmarkSetup
-
-
class
ax.benchmark.benchmark_runner.BenchmarkResult(objective_at_true_best, generator_changes, optimum, fit_times, gen_times)[source]¶ Bases:
tuple-
fit_times¶ Alias for field number 3
-
gen_times¶ Alias for field number 4
-
generator_changes¶ Alias for field number 1
-
objective_at_true_best¶ Alias for field number 0
-
optimum¶ Alias for field number 2
-
-
class
ax.benchmark.benchmark_runner.BenchmarkRunner[source]¶ Bases:
objectRunner that keeps track of benchmark runs and failures encountered during benchmarking.
-
aggregate_results()[source]¶ Pull results from each of the runs (BenchmarkSetups aka Experiments) and aggregate them into a BenchmarkResult for each problem.
Return type: Dict[str,BenchmarkResult]
-
run_benchmark_run(setup, generation_strategy)[source]¶ Run a single full benchmark run of the given problem and method combination.
Return type: BenchmarkSetup
-
run_benchmark_test(setup, generation_strategy, num_runs=20, raise_all_errors=False)[source]¶ Run full benchmark test for the given method and problem combination. A benchmark test consists of repeated full benchmark runs.
Parameters: - setup (
BenchmarkSetup) – setup, runs on which to execute; includes a benchmarking problem, total number of iterations, etc. - strategy (generation) – generation strategy that defines which generation methods should be used in this benchmarking test
- num_runs (
int) – how many benchmark runs of given problem and method combination to run with the given setup for one benchmark test
Return type: Dict[Tuple[str,str,int],BenchmarkSetup]- setup (
-
-
class
ax.benchmark.benchmark_runner.BenchmarkSetup(problem, total_iterations=20, batch_size=1)[source]¶ Bases:
ax.core.experiment.ExperimentAn extension of Experiment, specific to benchmarking. Contains additional data, such as the benchmarking problem, iterations to run per benchmarking method and problem combination, etc.
Parameters: - problem (
BenchmarkProblem) – description of the benchmarking problem for this setup - total_iterations (
int) – how many optimization iterations to run - batch_size (
int) – if this benchmark requires batch trials, batch size for those. Defaults to None
-
clone_reset()[source]¶ Create a clean copy of this benchmarking setup, with no run data attached to it.
Return type: BenchmarkSetup
- problem (
-
ax.benchmark.benchmark_runner.true_best_objective(optimization_config, true_values)[source]¶ Compute the true best objective value found by each iteration.
Parameters: - optimization_config (
OptimizationConfig) – Optimization config - true_values (
Dict[str,ndarray]) – Dictionary from metric name to array of value at each iteration.
Returns: Array of cumulative best feasible value.
Return type: ndarray- optimization_config (
Benchmark Suite¶
-
class
ax.benchmark.benchmark_suite.BOBenchmarkingSuite[source]¶ Bases:
objectSuite that runs all standard Bayesian optimization benchmarks.
-
run(num_runs, total_iterations, bo_strategies, bo_problems, batch_size=1, raise_all_errors=False)[source]¶ Run all standard BayesOpt benchmarks.
Parameters: - num_runs (
int) – How many time to run each test. - total_iterations (
int) – How many iterations to run each optimization for. - bo_strategies (
List[GenerationStrategy]) – GenerationStrategies representing each method to benchmark. - bo_problems (
List[BenchmarkProblem]) – Problems to benchmark the methods on. - batch_size (
int) – Number of arms to be generated and evaluated in optimization at once. - raise_all_errors (
bool) – Debugging setting; set to true if all encountered errors should be raised right away (and interrupt the benchm arking) rather than logged and recorded.
Return type: - num_runs (
-