{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/tuning-hyperparameters-without-grad-students","title":"Tuning Hyperparameters without Grad Students: Scalable and Robust Bayesian Optimisation with Dragonfly","arxiv_id":"1903.06694","date":"2019-03-15","proceeding":null,"authors":["Kirthevasan Kandasamy","Karun Raju Vysyaraju","Willie Neiswanger","Biswajit Paria","Christopher R. Collins","Jeff Schneider","Barnabas Poczos","Eric P. Xing"],"abstract":"Bayesian Optimisation (BO) refers to a suite of techniques for global optimisation of expensive black box functions, which use introspective Bayesian models of the function to efficiently search for the optimum. While BO has been applied successfully in many applications, modern optimisation tasks usher in new challenges where conventional methods fail spectacularly. In this work, we present Dragonfly, an open source Python library for scalable and robust BO. Dragonfly incorporates multiple recently developed methods that allow BO to be applied in challenging real world settings; these include better methods for handling higher dimensional domains, methods for handling multi-fidelity evaluations when cheap approximations of an expensive function are available, methods for optimising over structured combinatorial spaces, such as the space of neural network architectures, and methods for handling parallel evaluations. Additionally, we develop new methodological improvements in BO for selecting the Bayesian model, selecting the acquisition function, and optimising over complex domains with different variable types and additional constraints. We compare Dragonfly to a suite of other packages and algorithms for global optimisation and demonstrate that when the above methods are integrated, they enable significant improvements in the performance of BO. The Dragonfly library is available at dragonfly.github.io.","url_abs":"https://arxiv.org/abs/1903.06694v2","url_pdf":"https://arxiv.org/pdf/1903.06694v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"tuning-hyperparameters-without-grad-students","repo_url":"https://github.com/dragonfly/dragonfly","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[{"task_slug":"bayesian-optimisation","task_name":"Bayesian Optimisation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1903.06694","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1903.06694"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dragonfly/dragonfly","reach":null}],"summary":{"ran":3,"ran_draft_wrong":4,"unverified":7},"by_repo_kind":{"official":{"samples":14,"ran":7,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"6d060c988518415c","entry":"BasicReporter","repo":"dragonfly/dragonfly","repo_kind":"official","path":"dragonfly/opt/gp_bandit.py","file_url":"https://github.com/dragonfly/dragonfly/blob/HEAD/dragonfly/opt/gp_bandit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6d060c988518415c"}},{"code_sha256_prefix":"476dc61201803e5d","entry":"CalledMFOptimiserWithSFCaller","repo":"dragonfly/dragonfly","repo_kind":"official","path":"dragonfly/opt/gp_bandit.py","file_url":"https://github.com/dragonfly/dragonfly/blob/HEAD/dragonfly/opt/gp_bandit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"476dc61201803e5d"}},{"code_sha256_prefix":"fc3fdeadbee74239","entry":"SilentReporter","repo":"dragonfly/dragonfly","repo_kind":"official","path":"dragonfly/opt/gp_bandit.py","file_url":"https://github.com/dragonfly/dragonfly/blob/HEAD/dragonfly/opt/gp_bandit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fc3fdeadbee74239"}},{"code_sha256_prefix":"604e30ca640f1a95","entry":"get_default_acq_opt_method_for_domain","repo":"dragonfly/dragonfly","repo_kind":"official","path":"dragonfly/opt/gp_bandit.py","file_url":"https://github.com/dragonfly/dragonfly/blob/HEAD/dragonfly/opt/gp_bandit.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"604e30ca640f1a95"}},{"code_sha256_prefix":"1adb2f57fb60db07","entry":"get_default_acquisition_for_domain","repo":"dragonfly/dragonfly","repo_kind":"official","path":"dragonfly/opt/gp_bandit.py","file_url":"https://github.com/dragonfly/dragonfly/blob/HEAD/dragonfly/opt/gp_bandit.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1adb2f57fb60db07"}},{"code_sha256_prefix":"102f2b69de0b48de","entry":"get_reporter","repo":"dragonfly/dragonfly","repo_kind":"official","path":"dragonfly/opt/gp_bandit.py","file_url":"https://github.com/dragonfly/dragonfly/blob/HEAD/dragonfly/opt/gp_bandit.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"102f2b69de0b48de"}},{"code_sha256_prefix":"4c9b06c224dd65b5","entry":"postprocess_data_to_save_for_domain","repo":"dragonfly/dragonfly","repo_kind":"official","path":"dragonfly/opt/gp_bandit.py","file_url":"https://github.com/dragonfly/dragonfly/blob/HEAD/dragonfly/opt/gp_bandit.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4c9b06c224dd65b5"}},{"code_sha256_prefix":"2414895bdfec73e4","entry":"BlackboxOptimiser","repo":"dragonfly/dragonfly","repo_kind":"official","path":"dragonfly/opt/gp_bandit.py","file_url":"https://github.com/dragonfly/dragonfly/blob/HEAD/dragonfly/opt/gp_bandit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2414895bdfec73e4"}},{"code_sha256_prefix":"46e4f650d379d437","entry":"ExperimentDesigner","repo":"dragonfly/dragonfly","repo_kind":"official","path":"dragonfly/opt/gp_bandit.py","file_url":"https://github.com/dragonfly/dragonfly/blob/HEAD/dragonfly/opt/gp_bandit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"46e4f650d379d437"}},{"code_sha256_prefix":"40b6de465858576e","entry":"GPBandit","repo":"dragonfly/dragonfly","repo_kind":"official","path":"dragonfly/opt/gp_bandit.py","file_url":"https://github.com/dragonfly/dragonfly/blob/HEAD/dragonfly/opt/gp_bandit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"40b6de465858576e"}},{"code_sha256_prefix":"7f65063a51c25cc3","entry":"maximise_function","repo":"dragonfly/dragonfly","repo_kind":"official","path":"dragonfly/apis/opt.py","file_url":"https://github.com/dragonfly/dragonfly/blob/HEAD/dragonfly/apis/opt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7f65063a51c25cc3"}},{"code_sha256_prefix":"d81597120366054f","entry":"maximise_multifidelity_function","repo":"dragonfly/dragonfly","repo_kind":"official","path":"dragonfly/apis/opt.py","file_url":"https://github.com/dragonfly/dragonfly/blob/HEAD/dragonfly/apis/opt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d81597120366054f"}},{"code_sha256_prefix":"1543c44fde3da70a","entry":"minimise_function","repo":"dragonfly/dragonfly","repo_kind":"official","path":"dragonfly/apis/opt.py","file_url":"https://github.com/dragonfly/dragonfly/blob/HEAD/dragonfly/apis/opt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1543c44fde3da70a"}},{"code_sha256_prefix":"958a818b1b1a2fa0","entry":"preprocess_loaded_data_for_domain","repo":"dragonfly/dragonfly","repo_kind":"official","path":"dragonfly/opt/gp_bandit.py","file_url":"https://github.com/dragonfly/dragonfly/blob/HEAD/dragonfly/opt/gp_bandit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"958a818b1b1a2fa0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}