Bot releases are hidden (Show)
This patch release fixes a number of identified issues.
Linear
mean functionThis release contains contributions from:
JSchmiegel, uri-granta
Published by uri-granta about 1 year ago
This release adds caching of compiled graphs inside the Scipy optimizer, and adds support
for returning loss history. It also adds supports for Python 3.11.
compile_cache_size
argument to 0.This release contains contributions from:
khurram-ghani, jesnie, uri-granta
Published by uri-granta over 1 year ago
A small fix to ensure support for (and testing with) TensorFlow 2.12.
This release contains contributions from:
uri-granta
Published by khurram-ghani over 1 year ago
The main focus of this release is to provide users control over arguments for tf.function
compilation inside the Scipy minimize wrapper. It also adds support for a new categorical kernel.
tf.function
arguments for compilation in gpflow.optimizers.Scipy
.SquaredExponential
and Constant
kernels. (#2056, #2063)This release contains contributions from:
sc336, partev, khurram-ghani, uri-granta, awav, jesnie
Published by sc336 over 1 year ago
A small fix for a bug in the scipy optimize wrapper.
gpflow.optimizers.Scipy
to always assign the last good state returned by scipy.optimize.minimize
to the model under optimization. Previously, this step could be missed if minimize
failed in some situations, leaving the model in an arbitrary state.This release contains contributions from:
khurram-ghani
Full Changelog: https://github.com/GPflow/GPflow/compare/v2.6.4...v2.6.5
Published by sc336 over 1 year ago
A small fix for a bug in the scipy optimize wrapper.
gpflow.optimizers.Scipy
to always assign the last good state returned by scipy.optimize.minimize
to the model under optimization. Previously, this step could be missed if minimize
failed in some situations, leaving the model in an arbitrary state.This release contains contributions from:
khurram-ghani
Full Changelog: https://github.com/GPflow/GPflow/compare/v2.6.4...v2.6.5
Published by sc336 over 1 year ago
The main theme of this release is documentation, with a new suite of tutorials, several upgrades to notebooks and the removal of a rather annoying bug in the documentation site.
Perhaps more notably, check_shapes
has been removed, and can now be found here. This change is breaking for those who are still getting check_shapes
from gpflow
, although being in experimental this change does not require a new version number.
gpflow.experimental.check_shapes
has been removed, in favour of an independent release. Usepip install check_shapes
and import check_shapes
instead.tf.saved_model
and methods wrapped in @check_shapes
.Adam
optimizer.This release contains contributions from:
sc336, st--, sethaxen, jesnie
Published by sc336 almost 2 years ago
This is yet another bug-fix release.
to_default_float
to avoid losing precision when called with python floats.This release contains contributions from:
ChrisMorter
Published by jesnie about 2 years ago
This is yet another bug-fix release.
check_shapes
handling of tfp..._TensorCoercible
.This release contains contributions from:
jesnie
Published by jesnie about 2 years ago
This is a bug-fix release, for compatibility with GPflux.
tfp.python.layers.internal.distribution_tensor_coercible._TensorCoercible
.FallbackSeparateIndependentInducingVariables
to have children with different shapes.GaussianQuadrature
to be different.This release contains contributions from:
jesnie
Published by jesnie about 2 years ago
This is a bug-fixes release, due to problems with model saving in 2.6.0
.
gpflow.utilities.ops.cast
. Use tf.cast
instead.tf.saved_model
and methods wrapped in @check_shapes
.This release contains contributions from:
jesnie
Published by jesnie about 2 years ago
The major theme for this release is heteroskedastic likelihoods. Changes have unfortunately caused some breaking changes, but makes it much easier to use heteroskedastic likelihoods, either by plugging together built-in GPflow classes, or when writing your own. See our updated notebook, for examples on how to use this.
X
argument. If you have written custom likelihoods or you have custom code calling likelihoods directly you will need to add this extra argument.CGLB
model the xnew
parameters has changed name to Xnew
, to be consistent with the other models.GPLVM
model the variance returned by predict_f
with full_cov=True
has changed shape from [batch..., N, N, P]
to [batch..., P, N, N]
to be consistent with the other models.gpflow.likelihoods.Gaussian.DEFAULT_VARIANCE_LOWER_BOUND
has been replaced with gpflow.likelihoods.scalar_continuous.DEFAULT_LOWER_BOUND
.InducingVariables
API. InducingVariables
must now have a shape
property.gpflow.experimental.check_shapes.get_shape.register
has been replaced with gpflow.experimental.check_shapes.register_get_shape
.check_shapes
will no longer automatically wrap shape checking in tf.compat.v1.flags.tf_decorator.make_decorator
. This is likely to affect you if you use check_shapes
with custom Keras models. If you require the decorator you can manually enable it with check_shapes(..., tf_decorator=True)
.tf.function
. Use set_enable_check_shapes
to change this behaviour. See the API documentation for more details.X
argument, allowing you to easily implement heteroskedastic likelihoods.Gaussian
likelihood can now be parametrized by either a variance
or a scale
Gaussian
variance
Gaussian
scale
StudentT
scale
Gamma
shape
Beta
scale
GPR
and SGPR
can now be configured with a custom Gaussian likelihood, allowing you to make them heteroskedastic.gpflow.mean_functions
has been renamed gpflow.functions
, but with an alias, to avoid breaking changes.gpflow.experimental.check_shapes
cov: [n..., n...]
.is None
and is not None
as checks for conditional shapes.register_get_shape
instead of get_shape.register
, for better compatibility with TensorFlow.InducingVariable
s.arm64
) via the tensorflow-macos
dependency. (#1850)full_cov
and full_output_cov
.This release contains contributions from:
jesnie, corwinpro, st--, vdutor
Published by jesnie over 2 years ago
This release fixes a performance regression introduced in 2.5.0
. 2.5.0
used features of Python
that tensorfow < 2.9.0
do not know how to compile, which negatively impacted performance.
This release contains contributions from:
jesnie
Published by jesnie over 2 years ago
Fix problem with release process of 2.5.0.
This release contains contributions from:
jesnie
Published by jesnie over 2 years ago
The focus of this release has mostly been bumping the minimally supported versions of Python and
TensorFlow; and development of gpflow.experimental.check_shapes
.
gpflow.utilities.utilities
. It was scheduled for deletion in 2.3.0
.gpflow.utilities
instead. (#1804)Likelihood.predict_density
, which has been deprecated since March 24, 2020.ScalarLikelihood.num_gauss_hermite_points
, which has been deprecated sincemypy
. (#1795, #1799, #1802, #1812, #1814, #1816)Significant work on gpflow.experimental.check_shapes
.
Optional
values. (#1797)Significant speed-up of the GPR posterior objects. (#1809, #1811)
Significant improvements to documentation. Note the new home page:
https://gpflow.github.io/GPflow/index.html
(#1828, #1829, #1830, #1831, #1833, #1841, #1842, #1856, #1857)
This release contains contributions from:
ltiao, uri.granta, frgsimpson, st--, jesnie
Published by jesnie over 2 years ago
This release mostly focuses on make posterior objects useful for Bayesian Optimisation.
It also adds a new experimetal
sub-package, with a tool for annotating tensor shapes.
Slight change to the API of custom posterior objects.
gpflow.posteriors.AbstractPosterior._precompute
no longer must return an alpha
and an
Qinv
- instead it returns any arbitrary tuple of PrecomputedValue
s.
Correspondingly gpflow.posteriors.AbstractPosterior._conditional_with_precompute
should no
longer try to access self.alpha
and self.Qinv
, but instead is passed the tuple of tensors
returned by _precompute
, as a parameter. (#1763, #1767)
Slight change to the API of inducing points.
You should no longer override gpflow.inducing_variables.InducingVariables.__len__
. Override
gpflow.inducing_variables.InducingVariables.num_inducing
instead. num_inducing
should return a
tf.Tensor
which is consistent with previous behaviour, although the type previously was
annotated as int
. __len__
has been deprecated. (#1766, #1792)
mypy
.Add new posterior class to enable faster predictions from the VGP model. (#1761)
VGP class bug-fixed to work with variable-sized data. Note you can use
gpflow.models.vgp.update_vgp_data
to ensure variational parameters are updated sanely. (#1774).
All posterior classes bug-fixed to work with variable data sizes, for Bayesian Optimisation.
(#1767)
Added experimental
sub-package for features that are still under developmet.
gpflow.experimental.check_shapes
for checking tensor shapes.dataclasses
dependency conditional at install time. (#1759)predict_f
. (#1755)This release contains contributions from:
jesnie, tmct, joacorapela
Published by jesnie over 2 years ago
This is a bug-fix release, primarily for the GPR posterior object.
GPR posterior
GPRPosterior._conditional_with_precompute()
(#1747).Make gpflow.optimizers.Scipy
able to handle unused / unconnected variables. (#1745).
Build
make dev-install
also install the test requirements (#1737).Documentation
README.md
(#1736).cglb.ipynb
(#1742).Test suite
test_gpr_posterior.py
so it will cover leading dimension uses.This release contains contributions from:
st--, jesnie, johnamcleod, Andrew878
Published by johnamcleod almost 3 years ago
This release contains contributions from:
johnamcleod, st--, Andrew878, tadejkrivec, awav, avullo
Published by johnamcleod over 3 years ago
Bugfix for creating the new posterior objects with PrecomputeCacheType.VARIABLE.
Published by st-- over 3 years ago
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).
gpflow.conditionals.conditional
.SVGP
model, you can call model.posterior()
to obtain aposterior.predict_f()
methodmodel.predict_f()
computes exactly thegpflow.conditionals.conditional()
forwards to the same "fused" code-path asgpflow.conditionals.conditional.register
is deprecated and should not begpflow.conditionals.conditional()
, you have two optionsgpflow.models.SVGP
, use thegpflow.models.svgp.SVGP_deprecated
.gpflow.posteriors.AbstractPosterior
, and registerget_posterior_class()
instead (see the "Variational Fourier Features"SVGP
model. WeGPR
, SGPR
, or VGP
, butGPModel
conveniencepredict_f_samples
, predict_y
, predict_log_density
.This release contains contributions from:
@stefanosele, @johnamcleod, @st--