v0.9.0
What's New
We are excited to announce the following updates in Syne Tune v0.9.0
:
- Experimentation framework (aka benchmarking framework) can now be used without needing to install Syne Tune from source.
- Several multi-objective tuning methods are now available as baseline wrappers and via the experimentation framework.
- New advanced developer tutorial on how to implement or extend Bayesian optimization in Syne Tune
- Bug fix ensures that basic examples run with Syne Tune core dependencies
Experimentation Framework
Syne Tune's experimentation framework (aka benchmarking framework) is moved from benchmarking/commons
to syne_tune/experiments
, so it can be used without installing Syne Tune from source. This framework makes it very easy to compose launcher scripts, run studies with many experiments in parallel, explore the different trial execution backends, and plot results aggregated from many experiments. Learn more in this tutorial.
Multi-objective Tuning
Syne Tune contains a number of multi-objective tuning methods, which explore the Pareto frontier for a setup where multiple objectives matter. These are now easily available as MOASHA
, MORandomScalarizationBayesOpt
, NSGA2
, MOREA
, MOLinearScalarizationBayesOpt
in syne_tune/optimizer/baselines.py.
Tutorial: How to Implement Bayesian Optimization
This extension of our developer tutorial shows how Bayesian optimization is implemented in Syne Tune. You learn how to implement a new surrogate model, a new acquisition function, or a new covariance function for Gaussian process models, or also how to combine existing GP code into a composite surrogate model.
Running Syne Tune with core Dependencies
In this release we fixed import bugs to make sure that many of our examples work with minimal dependencies, and also updated testing in our CI system.
There are several different ways you can install Syne Tune, including:
pip install syne-tune
, with core dependencies onlypip install 'syne-tune[aws]'
, for AWS dependenciespip install 'syne-tune[gpsearchers]'
, for Gaussian Process dependenciespip install 'syne-tune[moo]'
, for multi-objective dependenciespip install 'syne-tune[extra]'
, for all extra dependencies
The full list of extras is available here.
Syne Tune allows you to install just the dependencies that you want to use for your use-case.
If your use case does not need Bayesian optimization, multi-objective support, and AWS, for example, you may be able to run with just core dependencies (obtained with pip install syne-tune
, as opposed to pip install syne-tune[extra]
or a related command which installs extra dependencies).
Changes
📜 Documentation Updates
- docs: New tutorial on how to implement Bayesian optimization (#709) by @mseeger
- docs: Experimentation framework without Syne Tune installed from source (#733) by @mseeger
- docs: Updated documentation (#732) by @mseeger
- docs: Add CQR in list of method supported in readme (#736) by @geoalgo
🐛 Bug Fixes
- fix: Clean up imports so that code runs with core dependencies. Update test workflows (#734) by @mseeger
- fix: Make sure RemoteLauncher works with requirements.txt not ending on newline (#731) by @mseeger
- fix: ExperimentResult.best_config() always used max mode (#728) by @ystein
🏗️ Code Refactoring
- refactor: Move code from benchmarking/commons to syne_tune/experiments (#719) by @mseeger
- refactor: Wrappers for multi-objective methods (#727) by @mseeger