The sparse GP example takes forever and it's not possible to run it within the 6 hour timeout limit. It's a lot slower than the non sparse code (takes a few minutes) and hence currently it's whole motivation in the tutorial is invalid. I did not have time to fully investigate it but I think the elbo computation in SparseFiniteGP - btw not sure why it is part of Stheno instead of AbstractGPs? - for multiple observation vectors (different features here) is inefficient (no shared computations) and that it should also use reverse diff (an error was thrown when I tried to use ReverseDiff) (btw I was surprised it did not use VI). I think the easiest way forward is to just remove the sparse part for now, and open a separate issue for reintroducing an improved version.
Thanks, @devmotion -- it sounds sensible to separate the sparse GP example. I am also slightly surprised that sparse GP currently live in the Stheno package rather than AbstractGPs.
The sparse GP example takes forever and it's not possible to run it within the 6 hour timeout limit. It's a lot slower than the non sparse code (takes a few minutes) and hence currently it's whole motivation in the tutorial is invalid. I did not have time to fully investigate it but I think the elbo computation in SparseFiniteGP - btw not sure why it is part of Stheno instead of AbstractGPs? - for multiple observation vectors (different features here) is inefficient (no shared computations) and that it should also use reverse diff (an error was thrown when I tried to use ReverseDiff) (btw I was surprised it did not use VI). I think the easiest way forward is to just remove the sparse part for now, and open a separate issue for reintroducing an improved version.