[P] Command-line tool for Bayesian black-box optimization
I wrote a CLI tool that runs black-box Bayesian optimization on an arbitrary shell command.
Usage: 1. Define a “space” to optimize over, using the Scikit-optimize YAML specification format 2. Run the
bayesopt tool 3. Save a summary of results from stdout, and/or load the full saved “optimization result” object from disk
There is an example in the repo to hopefully make this usage more clear.
Internally, it’s just a wrapper for Scikit-optimize, which has been giving me good results. This code could easily be extended to use Hyperopt’s TPE optimizer, but I wanted to start simple with one backend.
It also lets you emit output from your command as JSON, with an option to extract a number from it using JMESPath.
Unfortunately installation is annoying at the moment. The Scikit-optimize devs seem to have abandoned the project, so this relies on a patched fork of the latest version. Hopefully that will get straightened out (community fork, maybe?) and I can distribute this like a normal Python package.
Let me know what you think! Is this useful to anyone other than me?