sort by:
Revision Author Date Message Commit Date
2099f7d Merge branch 'develop' of into tf2.0-compatible 18 March 2020, 10:57 UTC
d3ca3c9 remove trainable setter on Parameter (#1323) TensorFlow does not allow setting a tf.Variable's `trainable` property; this brings GPflow Parameter objects in line with that behaviour. gpflow.set_utilities() can be used to change the _trainable state for gpflow.Parameter and tf.Variable objects as well as recursively for tf/gpflow Modules. Note that set_trainable() should not be used inside functions that will be wrapped in tf.function() (see #1335). 17 March 2020, 19:12 UTC
e680397 log_prior -> log_prior_density (#1329) 17 March 2020, 09:27 UTC
516f97c Fix more potential tf.cast() loss-of-precision issues (#1213) 17 March 2020, 00:56 UTC
bb099e4 Fix predict_f_samples (#1327) Fix model.predict_f_samples 16 March 2020, 18:24 UTC
6d989a8 Rename model.predict_... arguments to Xnew (#1278) 16 March 2020, 15:02 UTC
e563056 Rename lengthscale to lengthscales (#1324) Rename lengthscale to lengthscales 16 March 2020, 13:47 UTC
8704514 rename kernel full to full_cov (#1319) 13 March 2020, 23:38 UTC
e7879b0 Reactivate notebook tests (#1317) * fix notebooks tests * add test to ensure notebook tests cannot silently fail anymore * fix num_latent -> num_latent_gps in notebooks * clarify comment in notebook 13 March 2020, 21:28 UTC
87ef583 Update (#1314) patch_size -> patch_shape, IMG_SIZE -> IMAGE_SHAPE 13 March 2020, 19:20 UTC
dbafb10 Make conditionals function signatures consistent (#1315) * function -> f 13 March 2020, 19:15 UTC
3f6ac63 rename num_latent to num_latent_gps (#1310) 13 March 2020, 17:44 UTC
6fbc356 Rename base kernel in Periodic and Convolutional Kernel to base_kernel (#1312) * Periodic kernel: base -> base_kernel * Convolutional: basekern -> base_kernel * img_size -> image_shape, patch_size -> patch_shape 13 March 2020, 17:28 UTC
6575e90 Update Makefile: add 'make format' (#1313) and clean up Makefile 13 March 2020, 17:24 UTC
46809a1 Adds the freeze method for converting tf.Variable to Tensor constants in tf.Module (#1293) 12 March 2020, 21:56 UTC
fc40393 Broadcasting of kernels reintroduced (#1308) Broadcasting kernels: rescue PR #895 12 March 2020, 16:02 UTC
6f55e04 fix more images in the gpflow2 upgrade guide (#1305) Remove all underscores from inside ![...] 12 March 2020, 15:51 UTC
833291f Update intro.rst (#1307) 12 March 2020, 12:09 UTC
a00cc3b Minor performance improvement: pass Cholesky of K to gauss_kl (#1306) Adds option to pass `K_cholesky` to kullback_leiblers.gauss_kl() for the unwhitened case, instead of `K`. It prevents the double cost of inverting `K` twice, in both conditionals and gauss_kl. 12 March 2020, 12:09 UTC
dd6c59b Quickfix: speedup convolutional notebook (#1304) Reduce image size in convolutional notebook. Fixes #1300 11 March 2020, 14:29 UTC
07aa9d2 fix gpflow2_upgrade_guide notebook heading levels and images (#1299) 11 March 2020, 00:02 UTC
7fd3068 Introduce black formatter (#1294) 10 March 2020, 10:33 UTC
ebf2c8b use natgrad optimizer in varying noise notebook (#1270) Put natgrads back into the varying noise notebook. Resolves #1173 03 March 2020, 21:53 UTC
5f79844 clean up SGPR common __init__ (#1289) `gpflow.models.sgpr` contains two sparse GP models, SGPR and GPRFITC. They had a common subclass to provide the upper_bound() method. They also have the same `__init__`, which is unified in this PR. 26 February 2020, 14:58 UTC
398c49b Black on tests (#1290) 26 February 2020, 14:58 UTC
57d8ab7 improve organization of test modules (#1288) Historically, there was just a single flat directory full of test modules. This had several negative implications: a) some test files ended up very long, b) it was occasionally hard to find a good place for new tests, c) no separation between unit and integration tests. This PR gives the tests a directory structure that mirrors that of the gpflow package. Where possible, the code in gpflow/submodule/ is tested in tests/gpflow/submodule/ Integration tests (e.g. notebooks, method equivalence) are now in tests/integration/. Most of this PR is simple file moves, plus some splitting up of tests (particularly for models) according to the new structure. The reference kernel implementations are now unified in tests/gpflow/kernels/ 26 February 2020, 14:09 UTC
f8ee093 Remove the use of generator in dispatcher (#1264) GPflow makes use of a multipledispatch Dispatcher that internally uses a generator. However, according to TensorFlow [Capabilities and Limitations]( generators are not supported by AutoGraph and probably will never be. Thus, compiling code that passed though the dispatcher led to the following warnings: ```bash WARNING:tensorflow:Entity <bound method Dispatcher.dispatch_iter of <dispatched sample_conditional>> appears to be a generator function. It will not be converted by AutoGraph. WARNING: Entity <bound method Dispatcher.dispatch_iter of <dispatched sample_conditional>> appears to be a generator function. It will not be converted by AutoGraph. WARNING:tensorflow:Entity <bound method Dispatcher.dispatch_iter of <dispatched conditional>> appears to be a generator function. It will not be converted by AutoGraph. WARNING: Entity <bound method Dispatcher.dispatch_iter of <dispatched conditional>> appears to be a generator function. It will not be converted by AutoGraph. ``` This PR still uses the same dispatcher, but overwrites the problematic method that uses python generators and replaces it by a simple list. ### NOTE As of this PR we do not need to write `autograph=False` in `tf.function` anymore, and all the code inside dispatching gets compiled the same way as everything else :) ! 26 February 2020, 09:52 UTC
002b217 Make notebooks deterministic (#1265) Adds random seed setting as required to the various notebooks under doc/source/notebooks to make sure they're as reproducible as possible (i.e., re-running shouldn't change the git diff). There are still some issues with tailor/gp_nn (tensor shape warnings, and bad accuracy) tailor/mixture_density_networks (autograph warnings despite setting autograph=False?) 25 February 2020, 23:00 UTC
1bd337f minor docstring/code cleanup (#1277) 25 February 2020, 17:39 UTC
3e8bf18 Auto-generate docs in GPflow/docs (#1275) This PR (superseding #1271) enables auto-generation of all of GPflow's documentation. Upon a new merge in `develop`, we trigger our new repo [GPflow/docs]( to: - copy the complete content of GPflow/doc - compile the notebooks `.ipynb` from the `` files - create the `rst` files for the api documentation required for readthedocs. #### TODO: - [ ] Allow for documentation at different tags of the source code. 25 February 2020, 17:39 UTC
167973b Preserve types in deepcopy (#1285) 25 February 2020, 16:13 UTC
7c851ec add `kerndisc` to projects section (#1273) 23 February 2020, 18:14 UTC
9dd3d77 Merge branch 'develop' of into tf2.0-compatible 21 February 2020, 17:49 UTC
3317868 Docs quickfixes (#1272) 21 February 2020, 16:07 UTC
c0aab32 Add `make` to Docker image (#1269) 20 February 2020, 13:23 UTC
b035b21 Config accepts environment variables (#1262) 20 February 2020, 11:25 UTC
72531a7 Remove masking kwargs (#1261) 19 February 2020, 17:17 UTC
96d686f Add documentation of parameter copying to notebooks (#1259) * fix _repr_html_ * update intro_to_gpflow2 notebook with example use of gpflow.utilities.{parameter_dict, multiple_assign} * update upper_bound notebook to remove workaround for #1119 (and add another one for #1260) 14 February 2020, 15:56 UTC
2c318e8 Shared interface for number of latent gps in multi-output kernels (#1167) * Add an abstract property to the multioutput GPs returning the number of latents * Should be useful in validation in down the line assembly of multioutput GPs 14 February 2020, 15:10 UTC
22e14d7 fix link function bug in binary classification notebook (#1243) * fix link function bug in binary classification notebook 14 February 2020, 14:53 UTC
22edd92 Improve documentation and behaviour of Coregion kernel (#1255) - clean up of the documentation - changes initialization from W=zeros() to W=0.1*ones() which makes it easier to use out of the box - no longer requires manual assigning of symmetry-breaking values to the W matrix after kernel construction - adds output_covariance() method that computes the covariance between outputs (and output_variance() for its diagonal) 14 February 2020, 14:49 UTC
fea9f0c Fix type declaration for LossClosure (#1257) Co-authored-by: Neil Ferguson <> 14 February 2020, 11:40 UTC
077e066 Added docs for method parameter (#1256) 13 February 2020, 22:08 UTC
3f5cdd8 Improve documentation and behaviour of Periodic kernel (#1231) Previously, `Periodic` did not take active_dims, but the Kernel base class specifies active_dims as part of the interface, so this PR adds getter/setter that pass through to the base kernel, as well as accepting active_dims in the Periodic() constructor but raising an error when it is not consistent with base.active_dims. 13 February 2020, 11:37 UTC
24426b3 include special methods in docs (#1253) Closes #1039. With this change, all special methods and functions such as __init__ will be included in the Sphinx docs. 13 February 2020, 11:30 UTC
1164235 Inconisistency on whether q_sqrt is triangular fixed. (#1223) * Inconisistency on whether q_sqrt is triangular fixed. Problem: * KL divergence calculations only take lower triangle parts of q_sqrt in their calculation (implying a lower triangular parameterisation of covariance) * Conditional calculations perform calculations using the whole of q_sqrt. * The end result is if you forgot to add the triangular transform to the q_sqrt, your forward pass may be the same (if you initialise with a triangular matrix), but your gradients will immediately stop q_sqrt being triangular. Fix: * Conditional calulcations now only take the lower triangle parts of q_sqrt in their calculation 11 February 2020, 14:27 UTC
7275533 Ship type information as specified by PEP 561 (#1251) This way, any consumers using MyPy will be able to get type hints from GPflow 10 February 2020, 08:50 UTC
f30d42c Priors on constrained and unconstrained parts of a parameter (#1177) 09 February 2020, 16:37 UTC
2321585 Merge branch 'develop' of into tf2.0-compatible 06 February 2020, 17:07 UTC
056e59f fix Parameter.__repr__ behaviour within tf.function/graph mode (#1247) Parameter.__repr__ called .numpy() on the constrained and unconstrained representations - this throws an error when in graph mode (tf.function-wrapped), which can lead to errors-in-exception-handling, so this PR makes use of tf.eagerly_executing() to check whether we are in graph mode, and if so, only print shapes and dtype, not values. 06 February 2020, 17:06 UTC
655c7f6 Revert "Bump TF and TFP version (#1221)" This reverts commit 7a943fdeb2aa1909a80b17647766713557d9f2e2. 05 February 2020, 11:09 UTC
5a4865f Revert "Remove TFP deprecated bijector (#1220)" This reverts commit e2572c56f45362f5c5be1af7a190d4691dcde89d. 05 February 2020, 11:08 UTC
8dbf7ad remove presliced from Brownian kernel in kernel_design notebook (#1242) #1235 removed the presliced argument from a Kernel's K and K_diag methods, but hadn't amended the custom Brownian kernel in the kernel_design notebook: fixed by this PR. 03 February 2020, 14:58 UTC
27b0770 jupytext for notebooks (#1239) Makes use of Jupytext to store notebook source in a more readable format, which should make PR reviewing as well as fixing bugs much more straightforward. Also provides a Makefile to regenerate .ipynb from source. * `make pair-ipynb` was used to create the versions off the .ipynb in `develop`. * `make all` will execute all jupytext notebooks to recreate the .ipynb (this may change the figures in notebooks that haven't had numpy/tensorflow random seeds set yet) * test_notebooks now runs in the CI 03 February 2020, 14:00 UTC
40b2727 Clear chain of bijectors (#1238) 03 February 2020, 10:18 UTC
bd1e9c0 Clean up `presliced` argument to kernel calls (#1235) In GPflow 1, each kernel's K and K_diag method was supposed to take a presliced argument. Not all kernels actually had this signature, and not all kernels who had this signature actually did anything with the argument. This PR makes presliced an argument solely to the kernel's __call__, with the intent of making the entire set-up a lot cleaner. 31 January 2020, 15:59 UTC
cf89f9d Improve explanation of RobustMax likelihood (#1228) * save answer to #1202 in documentation 29 January 2020, 22:14 UTC
7b550b7 Make it clearer to users that we would welcome feedback on pain points & design quirks as well as "obvious" bugs (#1227) 29 January 2020, 12:19 UTC
f49e110 Improve pretty-printing of GPflow objects in IPython shell and jupyter notebook (#1233) Makes all GPflow objects (kernels, likelihoods, ...) inherit from gpflow.base.Module (not tf.Module), and adds _repr_html_ and _repr_pretty_ methods to gpflow.base.Module that return appropriate rich representation for jupyter notebook and IPython shell, respectively. * use gpflow.base.Module instead of tf.Module inside gpflow * add _repr_html_ and _repr_pretty_ to gpflow.base.Module for improved display in IPython shell/jupyter notebook * update explicit imports in gpflow/ 28 January 2020, 12:40 UTC
8a73e6d Update GPflow slack invite, stackoverflow vs github issues, installation instructions (#1225) * Restructure "GPflow Community" section in * Update installation instructions 22 January 2020, 11:35 UTC
e2572c5 Remove TFP deprecated bijector (#1220) 22 January 2020, 00:52 UTC
7a943fd Bump TF and TFP version (#1221) 21 January 2020, 16:25 UTC
2decaaf Minor fixes (#1222) 21 January 2020, 15:27 UTC
03a4e29 Fix issue with tf.cast() and implicit dtype conversion (#1211) 16 January 2020, 12:24 UTC
36a0853 Link GPflow 2 upgrade guide from intro.ipynb and (#1210) 15 January 2020, 11:10 UTC
fcd3b00 Add validation to Parameter.assign() to increase robustness of transforms (#1198) 15 January 2020, 11:08 UTC
cd55917 Skip tests more selectively (#1194) 15 January 2020, 11:01 UTC
4a3bd56 Add GPflow 2 upgrade guide (#1199) 14 January 2020, 14:42 UTC
b17df8b reinstate project links in that disappeared when changing develop to 2.0 10 January 2020, 16:48 UTC
7c2711f TensorFlow 2.1 compatibility, and identify as gpflow.Parameter in repr() to ease debugging (#1201) * Adds is_tensor_like property (returns True) to gpflow.Parameter to be compatible with TensorFlow 2.1. * Changes gpflow.Parameter.__repr__ to identify itself as a gpflow object, not a tf.Tensor, to ease debugging and interactive use. 10 January 2020, 15:55 UTC
6a455db dynamic shape evaluation instead of static shapes (#1181) Allows gpflow2 to work better with tf.function() when static shapes are unknown (e.g. when minibatching). Closes #1179 Co-authored-by: marcoadurno <> 07 January 2020, 21:15 UTC
fb66fb5 Improve Parameter.assign docstring (#1193) Closes #1191 07 January 2020, 21:12 UTC
ec54849 Update intro_to_gpflow2.ipynb (#1196) fix minor typo 07 January 2020, 21:09 UTC
b0e09ee Update SGPR_notes.ipynb (#1186) 18 December 2019, 16:33 UTC
426f6d2 Add jit flag to gpflow.optimizers.Scipy (#1190) * Add jit flag to gpflow.optimizers.Scipy that wraps objective and gradient evaluation in tf.function() 17 December 2019, 13:28 UTC
552074a fix bug in Kernel.on_separate_dims (#1178) * fix bug in Kernel.on_separate_dims * regression test 09 December 2019, 14:24 UTC
ef5a7ca Don't mention dockerfile in docs (#1174) Closes #620 04 December 2019, 15:00 UTC
8939a38 Clean up kernel interface (#1170) * make kernel interface consistent (uses X, X2 everywhere now) * add ABC metaclass to Kernel baseclass 04 December 2019, 14:51 UTC
beebbca add links to v1.5 documentation to (#1171) 04 December 2019, 12:27 UTC
438a3ed add prior to print_summary (#1168) * refactor tabulate_module_summary * add representation of prior to tabulate_module_summary (fixes #1117) 03 December 2019, 16:15 UTC
b1a6e69 GPflow notebooks - final copyedits (#1165) cleanup, typos, revert to US spelling etc. 29 November 2019, 11:41 UTC
a492858 Fix printing test (#1166) 26 November 2019, 23:29 UTC
bd1eb7c Assign lower bound directly to likelihood variance. (#1162) 26 November 2019, 20:55 UTC
1b9073d Fixes #1080 by casting tensorflow dtypes to numpy dtypes (#1164) 26 November 2019, 20:54 UTC
4654676 ELBO and log marginal likelhood of the SVGP has one data argument (#1163) 26 November 2019, 20:54 UTC
7bf3bf7 minor docstring improvement (#1161) 21 November 2019, 17:42 UTC
89a0bfb quick fix of documentation mathematics (#1155) * quick fix of documentation mathematics * Apply suggestions from code review much clearer Co-Authored-By: st-- <> 21 November 2019, 16:48 UTC
6a1abd4 Porting the generalized periodic kernel (#1158) Turns the Periodic kernel into a wrapper-kernel that takes any Stationary kernel as an argument `base` and turns it into a periodic version. Backwards-incompatible but more flexible and less code! 21 November 2019, 16:09 UTC
9cdb2a2 Add config option for positive bijector + re-introduce positive lower bound (#1148) 21 November 2019, 14:33 UTC
3af7b8e Stabilise upper bound of `SGPR`. (#1159) 19 November 2019, 11:15 UTC
59ef09c Bug fix in mcmc.ipynb (#1157) 16 November 2019, 13:13 UTC
52e3f61 ARD and Stationaries Refactor (#1088) 16 November 2019, 11:28 UTC
78238bd Prepare release 2.0.0-rc1 (#1153) 14 November 2019, 15:23 UTC
473e9bc Update contributors (#1152) 14 November 2019, 12:23 UTC
5ec3260 Update README (#1151) 14 November 2019, 12:22 UTC
624ed39 Gaussian process with neural network notebook (#1149) 14 November 2019, 11:54 UTC
32b76b7 Update CircleCI config (#1150) 14 November 2019, 11:05 UTC
a241dd3 Missing `full_output_cov` in VGP and GPLVM parameter prevents us from calling, `predict_f_samples` from the base class.. (#1147) 13 November 2019, 23:25 UTC
24b5733 Migrate MCMC notebook to gpflow2.0 (#1100) Migrate MCMC notebook to gpflow 2 using tensorflow probabilities. Changes required a few changes across the rest of the codebase, outside of the notebook. * small change to leaf printing function (fix bug, which was preventing printing of composite kernels) * parameters and trainable_parameters now return tuples, not generators, like tf implementation of variables, trainable_variables * tfp.distributions now work with different dtypes (by wrapping of parameters), so now play nicely with gpflow. 13 November 2019, 12:27 UTC
046b107 Create autodocumentation of API for GPFflow. (#1120) The script creates a folder `gpflow` which contains all the rst for the autogeneration using sphinx. Also added is type checking to the documentation and css and logo for the docs. 13 November 2019, 10:36 UTC
back to top