A lightweight framework for benchmarking HPO algorithms
from hposuite import create_study
study = create_study(
name="hposuite_demo",
output_dir="./hposuite-output",
optimizers=[...],
benchmarks=[...],
num_seeds=5,
budget=100,
)
study.optimize()
Tip
- See below for example of Running multiple Optimizers on multiple Benchmarks
- Check this example notebook for more examples
- Check out hpoglue for core HPO API for interfacing an Optimizer and Benchmark
python -m venv hposuite_env
source hposuite_env/bin/activate
pip install hposuite # Current not functional
Tip
pip install hposuite["notebook"]
- For usage in a notebookpip install hposuite["all]
- To install hposuite with all available optimizers and benchmarkspip install hposuite["all_opts]
- To install hposuite with all available optimizers onlypip install hposuite["all_benchmarks]
- To install hposuite with all available benchmarks only
git clone https://github.com/automl/hposuite.git
cd hposuite
pip install -e . # -e for editable install
from hposuite.benchmarks import BENCHMARKS
from hposuite.optimizers import OPTIMIZERS
from hposuite import create_study
study = create_study(
name="smachb_dehb_mfh3good_pd1",
output_dir="./hposuite-output",
optimizers=[
OPTIMIZERS["SMAC_Hyperband"],
OPTIMIZERS["DEHB_Optimizer"]
],
benchmarks=[
BENCHMARKS["mfh3_good"],
BENCHMARKS["pd1-imagenet-resnet-512"]
],
num_seeds=5,
budget=100,
)
study.optimize()
hposuite saves the Studies by default to ./hposuite-output/
(relative to the current working directory).
Results are saved in the Run
subdirectories within the main Study
directory as parquet files.
The Study
directory and the individual Run
directory paths are logged when running Study.optimize()
python -m hposuite.plotting.utils --save_dir <abspath_study_output_dir> --study_dir <study_directory_hash>
--save_dir
is set by default to ./hposuite-output