Skip to content

v0.9.0

Compare
Choose a tag to compare
@github-actions github-actions released this 04 Jul 10:02
· 59 commits to refs/heads/main since this release
4251425

What's New

We are excited to announce the following updates in Syne Tune v0.9.0:

  1. Experimentation framework (aka benchmarking framework) can now be used without needing to install Syne Tune from source.
  2. Several multi-objective tuning methods are now available as baseline wrappers and via the experimentation framework.
  3. New advanced developer tutorial on how to implement or extend Bayesian optimization in Syne Tune
  4. 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:

  1. pip install syne-tune, with core dependencies only
  2. pip install 'syne-tune[aws]', for AWS dependencies
  3. pip install 'syne-tune[gpsearchers]', for Gaussian Process dependencies
  4. pip install 'syne-tune[moo]', for multi-objective dependencies
  5. pip 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

🔧 Maintenance

  • chore: fix yahpo dependency version of configspace (#725) by @geoalgo

This release was made possible by the following contributors:

@geoalgo, @mseeger and @ystein