Release notes for all past releases are available in the 'Releases' section of the GPflow GitHub Repo. HOWTO_RELEASE.md explains just that.
- <CAVEATS REGARDING THE RELEASE (BUT NOT BREAKING CHANGES).>
- <ADDING/BUMPING DEPENDENCIES SHOULD GO HERE>
- <INSERT MAJOR FEATURE HERE, USING MARKDOWN SYNTAX>
- <IF RELEASE CONTAINS MULTIPLE FEATURES FROM SAME AREA, GROUP THEM TOGETHER>
- <SIMILAR TO ABOVE SECTION, BUT FOR OTHER IMPORTANT CHANGES / BUG FIXES>
- <IF A CHANGE CLOSES A GITHUB ISSUE, IT SHOULD BE DOCUMENTED HERE>
This release contains contributions from:
, , , , ,
- <CAVEATS REGARDING THE RELEASE (BUT NOT BREAKING CHANGES).>
- <ADDING/BUMPING DEPENDENCIES SHOULD GO HERE>
- <INSERT MAJOR FEATURE HERE, USING MARKDOWN SYNTAX>
- <IF RELEASE CONTAINS MULTIPLE FEATURES FROM SAME AREA, GROUP THEM TOGETHER>
- <SIMILAR TO ABOVE SECTION, BUT FOR OTHER IMPORTANT CHANGES / BUG FIXES>
- <IF A CHANGE CLOSES A GITHUB ISSUE, IT SHOULD BE DOCUMENTED HERE>
This release contains contributions from:
, , , , ,
- Refactor posterior base class to support other model types. (#1695)
- Add new posterior class to enable faster predictions from the GPR/SGPR models. (#1696, #1711)
- Construct Parameters from other Parameters and retain properties. (#1699)
- Add CGLB model (#1706)
- Fix unit test failure when using TensorFlow 2.5.0 (#1684)
- Upgrade black formatter to version 20.8b1 (#1694)
- Remove erroneous DeprecationWarnings (#1693)
- Fix SGPR derivation (#1688)
- Fix tests which fail with TensorFlow 2.6.0 (#1714)
This release contains contributions from:
johnamcleod, st--, Andrew878, tadejkrivec, awav, avullo
Bugfix for creating the new posterior objects with PrecomputeCacheType.VARIABLE.
The main focus of this release is the new "Posterior" object introduced by
PR #1636, which allows for a significant speed-up of post-training predictions
with the SVGP model (partially resolving #1599).
- For end-users, by default nothing changes; see Breaking Changes below if you
have written your own implementations of
gpflow.conditionals.conditional. - After training an
SVGPmodel, you can callmodel.posterior()to obtain a Posterior object that precomputes all quantities not depending on the test inputs (e.g. Choleskty of Kuu), and provides aposterior.predict_f()method that reuses these cached quantities.model.predict_f()computes exactly the same quantities as before and does not give any speed-up. gpflow.conditionals.conditional()forwards to the same "fused" code-path as before.
gpflow.conditionals.conditional.registeris deprecated and should not be called outside of the GPflow core code. If you have written your own implementations ofgpflow.conditionals.conditional(), you have two options to use your code with GPflow 2.2:- Temporary work-around: Instead of
gpflow.models.SVGP, use the backwards-compatiblegpflow.models.svgp.SVGP_deprecated. - Convert your conditional() implementation into a subclass of
gpflow.posteriors.AbstractPosterior, and registerget_posterior_class()instead (see the "Variational Fourier Features" notebook for an example).
- Temporary work-around: Instead of
- The Posterior object is currently only available for the
SVGPmodel. We would like to extend this to the other models such asGPR,SGPR, orVGP, but this effort is beyond what we can currently provide. If you would be willing to contribute to those efforts, please get in touch! - The Posterior object does not currently provide the
GPModelconvenience functions such aspredict_f_samples,predict_y,predict_log_density. Again, if you're willing to contribute, get in touch!
This release contains contributions from:
stefanosele, johnamcleod, st--
- GPflow requires TensorFlow >= 2.2.
- The
gpflow.utilities.utilitiessubmodule has been deprecated and will be removed in GPflow 2.3. User code should access functions directly throughgpflow.utilitiesinstead (#1650).
- Improves compatibility between monitoring API and Scipy optimizer (#1642).
- Adds
_add_noise_covmethod to GPR model class to make it more easily extensible (#1645).
-
Fixes a bug in ModelToTensorBoard (#1619) when
max_size=-1(#1619) -
Fixes a dynamic shape issue in the quadrature code (#1626).
-
Fixes #1651, a bug in
fully_correlated_conditional_repeat(#1652). -
Fixes #1653, a bug in the "fallback" code path for multioutput Kuf (#1654).
-
Fixes a bug in the un-whitened code path for the fully correlated conditional function (#1662).
-
Fixes a bug in
independent_interdomain_conditional(#1663). -
Fixes an issue with the gpflow.config API documentation (#1664).
-
Test suite
- Fixes the test suite for TensorFlow 2.4 / TFP 0.12 (#1625).
- Fixes mypy call (#1637).
- Fixes a bug in test_method_equivalence.py (#1649).
This release contains contributions from:
johnamcleod, st--, vatsalaggarwal, sam-willis, vdutor