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
SVGP
model, 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.register
is 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
SVGP
model. 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
GPModel
convenience 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.utilities
submodule has been deprecated and will be removed in GPflow 2.3. User code should access functions directly throughgpflow.utilities
instead (#1650).
- Improves compatibility between monitoring API and Scipy optimizer (#1642).
- Adds
_add_noise_cov
method 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