Clean up broadcasting conditionals by st-- · Pull Request #1618 · GPflow/GPflow

PR type: enhancement

Summary

The independent separate multi-output conditional relied on tf.map_fn and a lot of reshaping. This PR makes the base_conditional broadcast over independent Kuu etc, which allows us to delete most of the code in independent separate multi-output conditional.

Note that this PR currently is in draft mode; there may be a bunch of unnecessary transposes, and we haven't yet checked whether this degrades accuracy in any way.

PR checklist

  • The bug case / new feature is covered by unit tests
  • Code has type annotations
  • I ran the black+isort formatter (make format)
  • I locally tested that the tests pass (make check-all)

Release notes

Fully backwards compatible: yes

Commit message (for release notes):

  • Clean up conditional internals