New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add base_conditional_with_lm function #1528
Conversation
@st-- Based on your feedback on #1514 I have created a new PR to try and solve this. I thought that instead of the approach you suggested of having a If you think this is a good approach then I can add some tests and hopefully we can get this merged. |
Codecov Report
@@ Coverage Diff @@
## develop #1528 +/- ##
========================================
Coverage 95.30% 95.31%
========================================
Files 85 85
Lines 3815 3817 +2
========================================
+ Hits 3636 3638 +2
Misses 179 179
Continue to review full report at Codecov.
|
@st-- Any thoughts on this approach? We'd like to incorporate this GPflow change into our models fairly soon, if we can. |
I'd be happy to merge this but unfortunately codecov-project seems to be having issues... :S |
@st-- Thanks. Do you know if there's any way to get codecov to try again? I could try and push an insignificant change this to PR to try and trigger it, but there might be a better way? |
* Update pull request template (#1510) Clarify template to make it easier for contributors to fill in relevant information. * 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) * Update readme with new project using GPflow (#1530) * fix bug in varying_noise notebook (#1526) * Fix formatting in docs (intro.md) and restore link removed by #1498 (#1520) * pin tensorflow<2.3 tensorflow-probability<0.11 (#1537) * 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 7bb0e9f. * FIX: shape checking of dZ * Revert "removed ndiagquad" This reverts commit 8e23524. 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> * 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> * 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> * Bump version numbers to 2.1.0. (#1544) * Re-introduce pytest-xdist (#1541) Enables pytest-xdist for locally running tests (`make test`) on multiple cores in parallel. * check dependency versions are valid on CI (#1536) * Update to not use custom image (#1545) * Update to not use custom image * Add test requirements * Update parameter to be savable (#1518) * Fix for quadrature failure mode when autograph was set to False (#1548) * Fix and test * 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> * Update min TFP supported version to 0.10 (#1551) * Broadcasting constant and zero mean function (#1550) * Broadcasting constant and zero mean function * Use rank instead of ndim Co-authored-by: st-- <st--@users.noreply.github.com> Co-authored-by: joelberkeley-pio <joel.berkeley@prowler.io> Co-authored-by: gustavocmv <47801305+gustavocmv@users.noreply.github.com> Co-authored-by: Gustavo Carvalho <gustavo.carvalho@delfosim.com> Co-authored-by: ST John <st@prowler.io> Co-authored-by: Neil Ferguson <nfergu@users.noreply.github.com> Co-authored-by: Neil Ferguson <neil@prowler.io> Co-authored-by: Aidan Scannell <as12528@my.bristol.ac.uk> Co-authored-by: Aidan Scannell <scannell.aidan@gmail.com> Co-authored-by: Sandeep Tailor <s.tailor@insysion.net> Co-authored-by: Artem Artemev <art.art.v@gmail.com>
PR content:
Title
Allow
Lm
to be passed into utility functions for computation of conditionals.Description
This PR adds a new utility method:
base_conditional_with_lm
inconditionals/util.py
which acceptsLm
instead ofKmm
. This enables the performance of, for example, prediction to be improved by passing a pre-computed value forLm
into this function, instead of calculating it each time.This is a hopefully (improved) version of #1514, which uses two functions instead of trying to put both
Kmm
andLm
into a single function.Minimal working example
Here is a rough example of how I would use the new
base_conditional_with_lm
function in my model. This improves prediction time by about 10x.