This is the implementation of our Neurips 2025 submission titled DynaBO: Dynamic Priors in Bayesian Optimization for Hyperparameter Optimization. In the paper we propose a method to incorporate dynamic user feedback in the form of priors at runtime.
To install and run our method, you need to execute the following steps:
- Clone the repository with all additional dependencies using:
git clone --recursive https://github.com/automl/DynaBO.git
- Create a
conda
environment and activate it using:
conda create -n DynaBO python=3.10
conda activate DynaBO
- Install the repo and all dependencies:
make install
Our experiments rely on the library. They therefore require either using a mysql or sqlite database. The process of using PyExperimenter is described in its documentation. To replicate our experiments you need to execute the following steps
- Create gt_data needed for priors by running:
dynabo/experiments/gt_experiments/exectue_gt.py
for bothmfbench
andyahpogym
. (As described in the paper, we executed one seed for one seed initially, and then only considered the learners classified as medium and hard.) - Create priors by running
dynabo/data_processing/extract_gt_priors.py
- Execute the baselines, dynabo, and πBO using the scripts located in
dynabo/experiments
. In our experiments ran slurm jobs utilizing the scripts incluster_scripts
. - Create plots using
dynabo/plotting/plotting.py
.