Hi,
I have a problem where the output samples are 2D images of sizes N*N. Different images represents outputs of a PDE solver from different times. There's strong spatial correlation among the grid cells.
I have looked into MultitaskGPModel and GridGPRegressionModel.
The former maybe used if I treat the grid cells as different tasks, the latter seems to be similar. But I wonder if this is the best way to cast the problem using gpytorch. I'm mainly concerned with scalability (N^2). Any advice? Thanks ahead.
* Is there documentation missing? *
* Is documentation wrong? *
* Is there a feature that needs some example code? *
* Think you know how to fix the docs? * (If so, we'd love a pull request from you!)
You might try the variational multitask models, which scale reasonably well with the number of output GPs: https://github.com/cornellius-gp/gpytorch/blob/master/examples/04_Variational_and_Approximate_GPs/SVGP_Multitask_GP_Regression.ipynb
@wjmaddox has implemented the HOGP model from http://proceedings.mlr.press/v89/zhe19a.html that works quite well in these settings. Should be able to diff put this up as a PR once it's cleaned up and tested some more.
@Balandat, I'm looking forward to using HOGP. Thanks.
It might be a little bit until this is all polished, in particular the current version does not support efficiently computing predictive variances, but we should get there.
Just bumping this thread now that the implementation is in botorch here. Let us know how it works for your use case.
Most helpful comment
@wjmaddox has implemented the HOGP model from http://proceedings.mlr.press/v89/zhe19a.html that works quite well in these settings. Should be able to diff put this up as a PR once it's cleaned up and tested some more.