903b60d | Vincent Dutordoir | 27 August 2020, 10:50:00 UTC | Update min TFP supported version to 0.10 (#1551) | 27 August 2020, 10:50:00 UTC |
d025f96 | gustavocmv | 24 August 2020, 18:54:38 UTC | Change shape of quadrature tensors for better broadcasting (#1542) * using the first dimension to hold the quadrature summation * adapting ndiagquad wrapper * Changed bf for bX in docstrings Co-authored-by: Gustavo Carvalho <gustavo.carvalho@delfosim.com> Co-authored-by: st-- <st--@users.noreply.github.com> Co-authored-by: Vincent Dutordoir <dutordoirv@gmail.com> | 24 August 2020, 18:54:38 UTC |
6894af5 | Vincent Dutordoir | 24 August 2020, 10:55:29 UTC | Fix for quadrature failure mode when autograph was set to False (#1548) * Fix and test | 24 August 2020, 10:55:29 UTC |
8c65ef6 | Artem Artemev | 17 August 2020, 13:26:52 UTC | Update parameter to be savable (#1518) | 17 August 2020, 13:26:52 UTC |
4682722 | Vincent Dutordoir | 14 August 2020, 09:53:16 UTC | Update to not use custom image (#1545) * Update to not use custom image * Add test requirements | 14 August 2020, 09:53:16 UTC |
79b1a0b | joelberkeley-pio | 13 August 2020, 12:09:56 UTC | check dependency versions are valid on CI (#1536) | 13 August 2020, 12:09:56 UTC |
f9eb123 | st-- | 13 August 2020, 11:46:44 UTC | Re-introduce pytest-xdist (#1541) Enables pytest-xdist for locally running tests (`make test`) on multiple cores in parallel. | 13 August 2020, 11:46:44 UTC |
6bb7df9 | Sandeep Tailor | 13 August 2020, 10:08:36 UTC | Bump version numbers to 2.1.0. (#1544) | 13 August 2020, 10:08:36 UTC |
5744b51 | Aidan Scannell | 04 August 2020, 17:31:56 UTC | Fixed separate_independent_conditional to correctly handle q_sqrt=None. (#1533) * Fixed separate_independent_conditional to correctly handle q_sqrt=None. Co-authored-by: Aidan Scannell <scannell.aidan@gmail.com> Co-authored-by: st-- <st--@users.noreply.github.com> | 04 August 2020, 17:31:56 UTC |
20c5ee4 | Neil Ferguson | 03 August 2020, 14:38:29 UTC | Add base_conditional_with_lm function (#1528) * Added base_conditional_with_lm function, which accepts Lm instead of Kmm Co-authored-by: Neil Ferguson <neil@prowler.io> Co-authored-by: Vincent Dutordoir <dutordoirv@gmail.com> Co-authored-by: st-- <st--@users.noreply.github.com> | 03 August 2020, 14:38:29 UTC |
d995194 | gustavocmv | 30 July 2020, 11:58:40 UTC | Quadrature Refactoring (#1505) * WIP: quadrature refactoring * Removing old ndiagquad code * deleted test code * formatting and type-hint * merge modules * black formatting * formatting * solving failing tests * fixing failing tests * fixes * adapting tests for new syntax, keeping numerical behavior * black formatting * remove printf * changed code for compiled tf compatibility * black * restored to original version * undoing changes * renaming * renaming * renaming * reshape kwargs * quadrature along axis=-2, simplified broadcasting * black * docs * docs * helper function * docstrings and typing * added new and old quadrature equivalence tests * black * Removing comments Co-authored-by: Vincent Dutordoir <dutordoirv@gmail.com> * Typo Co-authored-by: Vincent Dutordoir <dutordoirv@gmail.com> * notation Co-authored-by: Vincent Dutordoir <dutordoirv@gmail.com> * reshape_Z_dZ return docstring fix * FIX: quad_old computed with the ndiagquad_old Co-authored-by: Vincent Dutordoir <dutordoirv@gmail.com> * more readable implementation Co-authored-by: Vincent Dutordoir <dutordoirv@gmail.com> * tf.ensure_shape added * removed ndiagquad * removed ndiagquad * Revert "removed ndiagquad" This reverts commit 7bb0e9f1e0f2b0e225a2b8a5b3092c4c2f24ba91. * FIX: shape checking of dZ * Revert "removed ndiagquad" This reverts commit 8e235241a697696e361158c30ff9aa9b4cc69f8a. Co-authored-by: Gustavo Carvalho <gustavo.carvalho@delfosim.com> Co-authored-by: ST John <st@prowler.io> Co-authored-by: Vincent Dutordoir <dutordoirv@gmail.com> | 30 July 2020, 11:58:40 UTC |
65aea21 | joelberkeley-pio | 30 July 2020, 10:13:27 UTC | pin tensorflow<2.3 tensorflow-probability<0.11 (#1537) | 30 July 2020, 10:13:27 UTC |
3c17a7d | st-- | 17 July 2020, 13:13:20 UTC | Fix formatting in docs (intro.md) and restore link removed by #1498 (#1520) | 17 July 2020, 13:13:20 UTC |
937222e | st-- | 16 July 2020, 20:02:21 UTC | fix bug in varying_noise notebook (#1526) | 16 July 2020, 20:02:21 UTC |
f1842a9 | Vincent Dutordoir | 16 July 2020, 10:25:35 UTC | Update readme with new project using GPflow (#1530) | 16 July 2020, 10:25:35 UTC |
d69b17d | st-- | 06 July 2020, 10:31:03 UTC | Temporary workaround for tensorflow_probability dependency issue (#1522) * pin cloudpickle==1.3.0 as temporary workaround for tensorflow/probability#991 to unblock our build (to be reverted once fixed upstream) | 06 July 2020, 10:31:03 UTC |
34b023a | st-- | 02 July 2020, 15:32:57 UTC | Merge pull request #1512 from GPflow/master Update develop with master | 02 July 2020, 15:32:57 UTC |
965189d | st-- | 02 July 2020, 10:10:16 UTC | Update pull request template (#1510) Clarify template to make it easier for contributors to fill in relevant information. | 02 July 2020, 10:10:16 UTC |
acaccfd | polaschwoebel | 23 June 2020, 10:52:20 UTC | updated models.gpr docstring (#1511) Doc update. Resolves https://github.com/GPflow/docs/issues/4 * updated models.gpr docstring * Elaboration. Co-authored-by: Pola Elisabeth Schwobel <posc@MacBook-Pro.local> Co-authored-by: Mark van der Wilk <markvanderw@gmail.com> | 23 June 2020, 10:52:20 UTC |
31dbbe5 | joelberkeley-pio | 11 June 2020, 14:37:47 UTC | Merge pull request #1506 from GPflow/develop Release 2.0.5 | 11 June 2020, 14:37:47 UTC |
3669d13 | joelberkeley-pio | 11 June 2020, 13:18:56 UTC | bump version to 2.0.5 (#1504) | 11 June 2020, 13:18:56 UTC |
7db2276 | joelberkeley-pio | 11 June 2020, 10:59:20 UTC | fix type in Parameter type check (#1500) | 11 June 2020, 10:59:20 UTC |
a9e125e | John Mcleod | 11 June 2020, 09:05:30 UTC | Ensure the plots appear in the generated documentation. (#1503) | 11 June 2020, 09:05:30 UTC |
390e4f0 | adam | 10 June 2020, 12:55:02 UTC | Update link to distill article on GPs (#1498) Note that this links to a *different* article from the previous one - we will add the old link back in as well once it is back online. | 10 June 2020, 12:55:02 UTC |
77eacca | Vincent Dutordoir | 04 June 2020, 16:03:48 UTC | Supporting preslicing of multi-output combination kernels (#1495) | 04 June 2020, 16:03:48 UTC |
6fda0e9 | st-- | 04 June 2020, 14:24:52 UTC | improve NaturalGradient optimizer documentation and add shape checks (#1489) As discussed in #878, GPflow's NaturalGradient optimizer does not implement the diagonal covariance parametrization (`q_diag=True`). This PR clarifies this in the documentation and adds extra shape checks. | 04 June 2020, 14:24:52 UTC |
647ca90 | Prakhar Verma | 02 June 2020, 15:09:19 UTC | Corrected variables name in convolutional notebook for better understanding (#1492) | 02 June 2020, 15:09:19 UTC |
12243a6 | st-- | 02 June 2020, 12:16:24 UTC | clean up Scipy types & code (#1454) Doc improvement: Fixes some typos in the Scipy docstring and adds a note on scipy minimize()'s callback argument vs GPflow Scipy().minimize()'s step_callback. Cleans up types in the module. Backwards-incompatible change: the `step_callback` that can be passes to the Scipy.minimize() method is changed to take its arguments by position, not name; in line with the StepCallback type signature (and in line with Python's typing.Callable documentation which suggests that callbacks should take arguments preferentially by position, not name). | 02 June 2020, 12:16:24 UTC |
89af61e | st-- | 01 June 2020, 16:12:48 UTC | quickfix to enable GPR to be used with variable data (#1490) GPR used the X.shape attribute instead of calling tf.shape(X); this prevented using it with Variable data, which is now successfully demonstrated in a test. | 01 June 2020, 16:12:48 UTC |
d0c78d0 | joelberkeley-pio | 28 May 2020, 16:04:34 UTC | Allow users to pass an iterable to set_trainable (#1486) | 28 May 2020, 16:04:34 UTC |
3ed381c | st-- | 28 May 2020, 12:25:57 UTC | Improve contributing.md (#1488) * bring contributing.md up to date (resolves #1474) Co-authored-by: joelberkeley-pio <joel.berkeley@prowler.io> | 28 May 2020, 12:25:57 UTC |
d12be33 | joelberkeley-pio | 27 May 2020, 19:30:03 UTC | add type hints: inducing_variables (#1487) | 27 May 2020, 19:30:03 UTC |
1929a36 | st-- | 27 May 2020, 16:39:27 UTC | Makefile quickfix (#1482) Fixes a syntax error in the Makefile introduced by #1471. Also adds a `format-check` target for black --check and a `check-all` target that runs format-check, type-check and the pytest tests. | 27 May 2020, 16:39:27 UTC |
435a7ff | Artem Artemev | 20 May 2020, 13:59:30 UTC | Merge pull request #1481 from GPflow/develop Release 2.0.4 | 20 May 2020, 13:59:30 UTC |
f8676eb | st-- | 20 May 2020, 12:19:40 UTC | bump version to 2.0.4 (#1478) | 20 May 2020, 12:19:40 UTC |
a198764 | joelberkeley-pio | 19 May 2020, 13:50:17 UTC | enable mypy on CI (#1471) | 19 May 2020, 13:50:17 UTC |
61f8d84 | Artem Artemev | 18 May 2020, 20:58:12 UTC | Fix freeze and traverse utility methods (#1476) TensorFlow Probability 0.10 introduced a new _parameters attribute in tfp.bijectors.Bijector instances that contains a self-reference, which broke GPflow's module-traversion utilities (leaf_components, print_summary, deepcopy, freeze). This PR changes traverse_module to ignore the _parameters attribute and proposes a new deepcopy approach that simply uses copy.deepcopy()'s memo argument. Co-authored-by: st-- <st--@users.noreply.github.com> | 18 May 2020, 20:58:12 UTC |
150a0d1 | joelberkeley-pio | 14 May 2020, 13:37:09 UTC | add type hints to gpflow.base (#1427) | 14 May 2020, 13:37:09 UTC |
bf35d66 | Artem Artemev | 13 May 2020, 09:28:43 UTC | Merge pull request #1468 from GPflow/vincent/master_203 Sync develop with master 2.0.3 | 13 May 2020, 09:28:43 UTC |
56c2efe | vdutor | 13 May 2020, 09:05:41 UTC | Merge remote-tracking branch 'origin/develop' into vincent/master_203 | 13 May 2020, 09:05:41 UTC |
a4bfbe6 | Vincent Dutordoir | 13 May 2020, 07:58:09 UTC | Add ipynb to gitignore (#1466) * Add ipynb to gitignore | 13 May 2020, 07:58:09 UTC |
b83f124 | vdutor | 13 May 2020, 07:49:01 UTC | Merge branch 'develop' | 13 May 2020, 07:49:01 UTC |
49ffbcf | vdutor | 13 May 2020, 07:48:48 UTC | Merge branch 'master' into develop | 13 May 2020, 07:48:48 UTC |
00d2e66 | st-- | 12 May 2020, 17:21:58 UTC | bump version to 2.0.3 (#1464) | 12 May 2020, 17:21:58 UTC |
7560936 | st-- | 12 May 2020, 12:44:01 UTC | Update setup.py for tensorflow 2(.2) (#1460) | 12 May 2020, 12:44:01 UTC |
5e599fb | Eric Hammy | 07 May 2020, 15:01:50 UTC | Release 2.0.2 (#1459) * add long_description and project_urls to setup.py (#1438) * add type hints for probability distributions (#1421) * remove comment (#1441) * Use a type alias in the fnction signature of leading_transpose (#1442) * refactor natgrads to be more efficient (#1443) * Fix dimensions of kernel evaluation of changepoint kernel (#1446) * Removed unusued imports. (#1450) * Improve representation of GPflow objects in IPython/Jupyter notebook (#1453) * includes the repr() string in IPython/Jupyter notebook representation as well (i.e. fully-qualified class name and object hash (memory address), which helps distinguish objects from each other) * only displays the parameter table when it is not empty * makes use of default_summary_fmt() for IPython shell * Convert data structures to tensor in model init method (#1452) * Use a boolean for full covariance in sample_mvn. (#1448) * #1452 for GPMC model (#1458) * release candidate v2.0.2 (#1457) Co-authored-by: st-- <st--@users.noreply.github.com> Co-authored-by: joelberkeley-pio <joel.berkeley@prowler.io> Co-authored-by: John Mcleod <43960404+johnamcleod@users.noreply.github.com> Co-authored-by: Mark van der Wilk <markvanderw@gmail.com> Co-authored-by: Artem Artemev <art.art.v@gmail.com> | 07 May 2020, 15:01:50 UTC |
6ce4203 | Eric Hammy | 07 May 2020, 14:45:49 UTC | release candidate v2.0.2 (#1457) | 07 May 2020, 14:45:49 UTC |
8f06b7c | st-- | 07 May 2020, 14:24:22 UTC | #1452 for GPMC model (#1458) | 07 May 2020, 14:24:22 UTC |
39d563c | John Mcleod | 07 May 2020, 13:00:10 UTC | Use a boolean for full covariance in sample_mvn. (#1448) | 07 May 2020, 13:00:10 UTC |
7e3e514 | Artem Artemev | 07 May 2020, 12:22:34 UTC | Convert data structures to tensor in model init method (#1452) Resolves #1439 | 07 May 2020, 12:22:34 UTC |
5ec7e91 | st-- | 04 May 2020, 13:13:48 UTC | Improve representation of GPflow objects in IPython/Jupyter notebook (#1453) * includes the repr() string in IPython/Jupyter notebook representation as well (i.e. fully-qualified class name and object hash (memory address), which helps distinguish objects from each other) * only displays the parameter table when it is not empty * makes use of default_summary_fmt() for IPython shell | 04 May 2020, 13:13:48 UTC |
08739ce | Mark van der Wilk | 02 May 2020, 18:11:17 UTC | Removed unusued imports. (#1450) | 02 May 2020, 18:11:17 UTC |
8b24183 | Eric Hammy | 26 April 2020, 21:36:15 UTC | Fix dimensions of kernel evaluation of changepoint kernel (#1446) Closes #1440 | 26 April 2020, 21:36:15 UTC |
b41d4f3 | st-- | 23 April 2020, 18:17:42 UTC | refactor natgrads to be more efficient (#1443) Previously, GPflow's NaturalGradient optimizer would call the loss_function once for each (q_mu, q_sqrt) set in the var_list. This is a light refactor that separates out applying the natural gradient step from computing the gradients (`_natgrad_apply_gradients`), and changes `_natgrad_steps` to only evaluate the loss function once, computing the gradients for all (q_mu, q_sqrt) tuples passed in the var_list. Other changes: - The no-longer-used `_natgrad_step` method got removed. - NaturalGradient now takes a `xi_transform` argument that is used for all parameter sets without explicitly specified xi transform (i.e. tuples rather than triplets). - XiTransform has been changed to have staticmethods. None of this should affect any downstream code; this PR is backwards-compatible. | 23 April 2020, 18:17:42 UTC |
c7550ce | John Mcleod | 23 April 2020, 09:19:35 UTC | Use a type alias in the function signature of leading_transpose (#1442) Ensure that the `leading_transpose` function can be used with the @tf.function decorator (workaround for bug in tensorflow<=2.2.0rc3) | 23 April 2020, 09:19:35 UTC |
82f2db4 | joelberkeley-pio | 20 April 2020, 22:03:27 UTC | remove comment (#1441) | 20 April 2020, 22:03:27 UTC |
e1a3fa3 | joelberkeley-pio | 20 April 2020, 09:38:45 UTC | add type hints for probability distributions (#1421) | 20 April 2020, 09:38:45 UTC |
ca3b854 | st-- | 20 April 2020, 07:43:57 UTC | add long_description and project_urls to setup.py (#1438) | 20 April 2020, 07:43:57 UTC |
2358539 | st-- | 15 April 2020, 12:19:00 UTC | Release 2.0.1 (#1436) Release notes: - Improve structure of likelihoods subdirectory (#1416) - Update README.md (#1401) and GPflow 2 upgrade guide (#1414) - Improved handling of invalid values for constrained Parameters (#1408) - Improvements on types/function annotations (#1406, #1420) - Documentation improvements (metalearning with GPs: #1382, coregionalization notebook: #1402, MCMC notebook: #1410, intro to gpflow with tensorflow 2: #1413) - Minor documentation fixes (#1429, #1430, #1433) - Fix: move matplotlib import inside ImageToTensorBoard (#1399) - Fix: tf.function compilation of ndiagquad (#1418) - Fix: cache tensorboard file writers and re-use them (#1424) | 15 April 2020, 12:19:00 UTC |
3fc050d | st-- | 15 April 2020, 11:33:35 UTC | Merge master (at 2.0.0) into develop (pull request #1437) | 15 April 2020, 11:33:35 UTC |
641b8ad | ST John | 15 April 2020, 10:48:26 UTC | Merge branch 'develop' of github.com:GPflow/GPflow into develop-master-merge | 15 April 2020, 10:48:26 UTC |
8afd2f9 | ST John | 15 April 2020, 10:37:40 UTC | Merge remote-tracking branch 'origin/master' into develop-master-merge | 15 April 2020, 10:37:40 UTC |
a6156e8 | st-- | 15 April 2020, 10:14:37 UTC | bump version to 2.0.1 (#1426) | 15 April 2020, 10:14:37 UTC |
2018243 | st-- | 15 April 2020, 10:14:20 UTC | fix kernel construction in multioutput notebook (#1430) * fix kernel construction in multioutput notebook * fix one more kernel in changepoints notebook | 15 April 2020, 10:14:20 UTC |
3fd78aa | st-- | 14 April 2020, 16:57:44 UTC | fix other-issue.md issue template (#1432) The "other issue" template wasn't being pulled in by GitHub's "new issue chooser"(https://github.com/GPflow/GPflow/issues/new/choose) because of a parsing failure due to the use of quotes in the name: field, which is fixed by this PR (changed version obtained by putting the text with quotes into GitHub's "create an issue template" interface). Includes a few minor copyedits. | 14 April 2020, 16:57:44 UTC |
5a5603d | st-- | 14 April 2020, 16:56:36 UTC | fix pyplot import in notebooks (#1433) * fix pyplot import for matplotlib 3.1.3 (closes #1423) * apply same fix to other notebooks | 14 April 2020, 16:56:36 UTC |
4821d03 | st-- | 14 April 2020, 14:59:19 UTC | Issue templates (#1425) This gives the GPflow repository four issue templates: * bugs (including performance and build issues) * feature requests * documentation issues * other issues (pointing to the stackoverflow gpflow tag) This will hopefully make new issues more easily addressable. :) Co-authored-by: joelberkeley-pio <joel.berkeley@prowler.io> | 14 April 2020, 14:59:19 UTC |
806004d | st-- | 14 April 2020, 12:57:55 UTC | fix link in sphinx intro.rst (#1429) Closes #1428. | 14 April 2020, 12:57:55 UTC |
12dafe9 | st-- | 14 April 2020, 09:55:15 UTC | move matplotlib import inside ImageToTensorBoard (#1399) * move matplotlib import inside ImageToTensorBoard class so that it is not a hard dependency for GPflow (`import gpflow` does not require matplotlib, only instantiating `ImageToTensorBoard` does) * split up monitor into base.py and tensorboard.py * add matplotlib to extras_require | 14 April 2020, 09:55:15 UTC |
e652e75 | Tomáš Křehlík | 10 April 2020, 20:28:52 UTC | Fix issue where multiple file writers were created (#1424) Cache summary file writers and re-use them in ToTensorBoard monitor task. Fixes #1385 | 10 April 2020, 20:28:52 UTC |
8e8ea85 | joelberkeley-pio | 09 April 2020, 21:07:52 UTC | type ci utils module (#1420) | 09 April 2020, 21:07:52 UTC |
6388133 | st-- | 08 April 2020, 13:52:11 UTC | Improve user experience on invalid assignments to constrained Parameters (#1408) Addresses #1407. * attempt to improve the error message in the gpflow.Parameter check on assigning a new value that is incompatible with the parameter's transform (e.g. a non-positive value to a parameter with a positive() transform) * Gaussian likelihood: add explicit `__init__`-time check that variance > variance_lower_bound, add `__init__` docstring, move "default variance lower bound" magic number into class-level constant * change gpflow.config's positive_minimum to always be a float (initialized to 0.0 by default) | 08 April 2020, 13:52:11 UTC |
92f914d | Vincent Dutordoir | 08 April 2020, 13:45:08 UTC | fix compilation issue in ndiagquad when integrating over multiple dimensions (#1418) | 08 April 2020, 13:45:08 UTC |
5c89c1e | st-- | 08 April 2020, 09:48:25 UTC | Improve structure of likelihoods subdirectory (#1416) Addresses #1405 * New structure underneath gpflow/likelihoods/: * base.py: all base classes (Likelihood, MonteCarloLikelihood, ScalarLikelihood) and SwitchedLikelihood * multiclass.py: multi-class classification (Softmax, MultiClass + RobustMax) * scalar_continuous.py: continuous-Y subclasses of ScalarLikelihood (Gaussian, StudentT, Exponential, Beta, Gamma) * scalar_discrete.py: discrete-Y subclasses of ScalarLikelihood (Bernoulli, Poisson, Ordinal) * utils.py: the `inv_probit` link function used by Bernoulli and Beta likelihoods * misc.py: GaussianMC - used for demonstration/tests only. (Note that usage, i.e. accessing gpflow.likelihoods.<LikelihoodClass>, has not changed.) * Tests for multi-class classification likelihoods moved out into their own test module (including stubs for the missing MultiClass quadrature tests of #1091) * Re-activates the quadrature tests for ScalarLikelihood subclasses with analytic variational_expectations/predict_log_density/predict_mean_and_var that inadvertently got disabled by #1334 * Fixes a bug in Bernoulli._predict_log_density that was uncovered by these tests * Fixes random seed for mock data generation in test_natural_gradient to make svgp_vs_gpr test pass again | 08 April 2020, 09:48:25 UTC |
dda8c39 | st-- | 08 April 2020, 09:25:06 UTC | update gpflow2 upgrade guide: likelihood section, predict_log_density, IsotropicStationary (#1414) | 08 April 2020, 09:25:06 UTC |
e7cfb8e | Christabella Irwanto | 07 April 2020, 19:38:30 UTC | Match original experimental setup for "metalearning with GPs" notebook. (#1382) * Match original experiment setup from paper. Replicate the original setup published in Fortuin and Ratsch (2019) and heavily comment the code with references to the paper. * Run `make format` and reduce hyperparameters to ease computation. * Format MSE and std to 2 decimals and sort randomly permuted indices. * Describe experimental modifications made in the notebook. * Plot target task training points. * Plot prediction variance/uncertainty. * Go with N=500, use more explicit name. * Address comments from @st-- | 07 April 2020, 19:38:30 UTC |
8094187 | Artem Artemev | 06 April 2020, 11:56:58 UTC | Use AUTOTUNE from tf.data.experimental (#1413) Best practice demonstrated in our notebooks | 06 April 2020, 11:56:58 UTC |
90f9a12 | Thomas Pinder | 03 April 2020, 17:04:51 UTC | Fix MCMC sampler in documentation (#1410) * Increase MCMC sampling * Fix section links | 03 April 2020, 17:04:51 UTC |
ea10dea | John Mcleod | 03 April 2020, 13:12:53 UTC | Fix mypy errors -variables are not types- (#1406) | 03 April 2020, 13:12:53 UTC |
7417180 | st-- | 02 April 2020, 11:49:10 UTC | update README for 2.0 release (#1401) | 02 April 2020, 11:49:10 UTC |
4dddadc | WRJacobs | 01 April 2020, 13:40:56 UTC | Add clarity to coregionalization example (#1402) | 01 April 2020, 13:40:56 UTC |
1b023cb | Eric Hammy | 31 March 2020, 18:50:35 UTC | fixup website (#1398) | 31 March 2020, 18:50:35 UTC |
59f3e2c | Vincent Dutordoir | 31 March 2020, 15:15:00 UTC | Update circleci to TF2.1 docker image (#1397) | 31 March 2020, 15:15:00 UTC |
47e788a | Artem Artemev | 31 March 2020, 13:19:27 UTC | Release 2.0.0 (#1396) | 31 March 2020, 13:19:27 UTC |
4f9aff7 | Artem Artemev | 31 March 2020, 13:04:10 UTC | Bump version to 2.0.0 (#1395) | 31 March 2020, 13:04:10 UTC |
7e717cc | st-- | 31 March 2020, 12:17:12 UTC | refactor training objective methods (#1276) This gives all `BayesianModel` subclasses a consistent interface both for optimization (MLE/MAP) and MCMC. Models are required to implement `maximum_log_likelihood_objective`, which is to be maximized for model training. Optimization: The `_training_loss` method is defined as `- (maximum_log_likelihood_objective + log_prior_density)`. This is exposed by the InternalDataTrainingLossMixin and ExternalDataTrainingLossMixin classes. For models that keep hold of the data internally, `training_loss` can directly be passed as a closure to an optimizer's `minimize`, for example: ```python model = gpflow.models.GPR(data, ...) gpflow.optimizers.Scipy().minimize(model.training_loss, model.trainable_variables) ``` If the model objective requires data to be passed in, a closure can be constructed on the fly using `model.training_loss_closure(data)`, which returns a no-argument closure: ```python model = gpflow.models.SVGP(...) gpflow.optimizers.Scipy().minimize( model.training_loss_closure(data), model.trainable_variables, ... ) ``` The training_loss_closure() method provided by both InternalDataTrainingLossMixin and ExternalDataTrainingLossMixin takes a boolean `compile` argument (default: True) that wraps the returned closure in tf.function(). Note that the return value should be cached in a variable if the minimize() step is run several times to avoid re-compilation in each step! MCMC: The `log_posterior_density` method can be directly passed to the `SamplingHelper`. By default, `log_posterior_density` is implemented as `maximum_log_likelihood_objective + log_prior_density`. Models can override this if needed. Example: ```python model = gpflow.models.GPMC(...) hmc_helper = gpflow.optimizers.SamplingHelper( model.log_posterior_density, model.trainable_parameters ) hmc = tfp.mcmc.HamiltonianMonteCarlo( target_log_prob_fn=hmc_helper.target_log_prob_fn, ... ) ``` In this case, the function that runs the MCMC chain should be wrapped in tf.function() (see MCMC notebook). | 31 March 2020, 12:17:12 UTC |
e61ee69 | Artem Artemev | 31 March 2020, 10:00:53 UTC | Add a section about custom user config (#1394) | 31 March 2020, 10:00:53 UTC |
27bc0d4 | st-- | 31 March 2020, 08:39:35 UTC | _scalar_log_density -> _scalar_log_prob (#1393) In GPflow2, the log probability density itself (summed over multiple outputs, if applicable) was called log_prob to be consistent with tensorflow_probability. In #1334 the element-wise log probability density to be implemented by ScalarLikelihood subclasses was called _scalar_log_density. This PR renames the latter to _scalar_log_prob to make it more self-consistent. | 31 March 2020, 08:39:35 UTC |
baa8bee | st-- | 31 March 2020, 08:29:19 UTC | Update upgrade guide (#1390) | 31 March 2020, 08:29:19 UTC |
d2ac01f | st-- | 31 March 2020, 08:23:27 UTC | Improve doc generation (#1391) * clarifying doc generation * add automodule for module level docstrings | 31 March 2020, 08:23:27 UTC |
72de787 | joelberkeley-pio | 30 March 2020, 17:58:43 UTC | rename jit to compile (#1392) | 30 March 2020, 17:58:43 UTC |
1e936e0 | Mark van der Wilk | 30 March 2020, 12:08:03 UTC | Increased tolerance for sqrt in kernels K_r2. (#1388) We had a report of numerical problems when the tolerance was 1e-40. So in GPflow 1 it got changed to 1e-36, but this wasn't ported to GPflow 2, hence why we're fixing it now. | 30 March 2020, 12:08:03 UTC |
792201d | Mark van der Wilk | 30 March 2020, 11:35:07 UTC | Added suggestion on how to open TensorBoard so it updates. (#1389) | 30 March 2020, 11:35:07 UTC |
c8e8f00 | ilia-kats | 30 March 2020, 11:20:14 UTC | enable pickling of frozen models (#1338) Changes setattr_by_path to delete the attribute before setting it again. When simply replacing a Parameter with tf.Constant, tensorflow did not update its internal list of tracked variables, which prevented deepcopying and pickling of frozen models. Explicitly deleting the tracked variable before assigning a constant value forces tensorflow to update its state. Workaround for https://github.com/tensorflow/tensorflow/issues/37806 | 30 March 2020, 11:20:14 UTC |
0b9e1f0 | st-- | 30 March 2020, 11:17:24 UTC | MCMC cleanup (#1374) * SamplingHelper: clean up docstrings * SamplingHelper: do not convert to numpy in convert_to_constrained_samples * MCMC notebook: clean up; make faster (ci_niter); remove opaque use of utility function * MCMC notebook: clarify MCMC over Z for SGPMC - inducing points should be non-trainable * tests: use pytest.raises * tests: clean up match argument | 30 March 2020, 11:17:24 UTC |
1272141 | st-- | 30 March 2020, 10:33:32 UTC | fix notebook LaTeX equations + upgrade guide link (#1370) * fix notebook LaTeX equations * remove empty cells at bottom of notebooks * fix link to intro_to_gpflow2 in docs * Apply suggestions from code review Co-Authored-By: Vincent Dutordoir <dutordoirv@gmail.com> * fix internal notebook link * more fixes Co-authored-by: Vincent Dutordoir <dutordoirv@gmail.com> | 30 March 2020, 10:33:32 UTC |
aff62bc | st-- | 30 March 2020, 09:32:58 UTC | Make Scipy more robust & faster (#1377) * Adds an explicit check to Scipy() that all elements of `variables` are actually tf.Variable instances (unconstrained variables) - accidentally passing `model.trainable_parameters` may work but give the wrong answers for parameters with transforms! Passing `model.trainable_variables` is the right thing to do. * Updates _compute_loss_and_gradients to only compute gradients wrt passed-in variables. * Fix mixture density network notebook, which had erroneously passed model.trainable_parameters instead of model.trainable_variables. | 30 March 2020, 09:32:58 UTC |
d41d6eb | Vincent Dutordoir | 30 March 2020, 08:49:58 UTC | Set kernelspec to Py3 in monitoring.pct.py (#1386) Quickfix for the failing monitoring.pct.py notebook during the doc generation on CircleCi. Problem was caused by an unknown Python version in the notebook's kernelspec. It has to be 'name: python3', whereas conda may add a user-specific custom name there. | 30 March 2020, 08:49:58 UTC |
82999c9 | st-- | 30 March 2020, 08:47:02 UTC | minimum required multipledispatch version is 0.6 (#1384) As shown by #1381, gpflow does not work with older versions of multipledispatch - this change reflects this in the setup.py version requirements. | 30 March 2020, 08:47:02 UTC |
7ec7955 | st-- | 28 March 2020, 16:12:50 UTC | speed up VFF notebook (#1383) | 28 March 2020, 16:12:50 UTC |