This repository hosts the code used for Data-driven Prior Learning for Bayesian Optimisation.
requirements.txt has the package requirements for the optimisation step.
The core files for the optimisation are optimisation.py and do_BO.py. They also use the following source files
synthetic.pyjam.pyhbo.py
The preprocessing for PLeBO happens in the mcmc folder.
requirement-numpyro.txthas the requirements for this step (which are different to those for the optimisation step). The preprocessing files are stored in thecandidatesfolder.prior_learning.pyhas source files.learn_candidates_numpyro.pyis the script for learning candidate hyperparameters, as well as the Gamma prior.
Some of the baselines have preprocessing steps.
learn_supermodel.pyis used to learn the set of Shared GP hyperparameters.learn_initial_points.pyandlearn_initial_points_satellite.pyis used to learn initial points for Initial.
The experiments were run on a cluster, using
write_exps.shcluster_script.shcluster_wrapper.sh
The figures are stored in the Figures folder. In the case of plot_prior_fit.py, use the Python environment created with requirement-numpyro.txt.
To plot and print the results reported, use
plot_cluster_grouped_results.pyplot_example_tasks.pyplot_motivation_together.pyplot_prior_fit.pyplot_results_summary.pyprint_durations.py
The synthetic optimisation tasks were generated using generate_synth_problem_set.py. These are stored in the problems folder.