Open Evan1578 opened 4 years ago
As far as I know, this should be supported functionality in theory. I'm pretty sure it works with GridInterpKernel, and I'm not sure why it wouldn't work with InducingPointKernel.
For now you can try the variational multitask example. Can you post the stack trace (and ideally also an example notebook to reproduce the errors)?
Thanks for the variational multitask tip, I am new to gaussian processes and did not think of that. The stack trace is:
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.1.1\helpers\pydev\pydevd.py", line 1741, in
the error seems to be a problem with computing the loss, the output of the model is a multivariate normal object with torch size (250,28), the corresponding y label is a 250 times 28 tensor, torch size also (250,28)
Can you also include a code example (or, more preferably, a jupyter notebook) that produces this error?
I am able to reproduce this if I try to set up a model with multitask mean but not multi task kernel. The error is in computing the loss but more specifcally seems to be that the covariance noise shape does not match the covariance shape. I am a bit new to this... is multitask kernel required if using multitask mean? Could this be fixed by overriding the covariance noise similar to how multitask kernel is?
Here is the model init. basically everything else is the same as https://docs.gpytorch.ai/en/v1.1.1/examples/03_Multitask_Exact_GPs/Multitask_GP_Regression.html but I'd be happy to provide more info if needed.
If uncomment the multitask covariance it will work.
Yes, the multitask kernel is required. The MultitaskMean and MultitaskKernel objects make sure that everything is shaped appropriately for multiple tasks.
Hi, I have been trying to implement a sparse gpytorch model with multitask prediction. I am unsure if this is supported by gpytorch (the sparse gpytorch guide did not seem to mention multitask prediction capabilities). Is this kind of model supported? If so, how would I go about implementing it? I have tried constructing a base multitask covariance module and then feeding that into the Inducing Point Kernel, but I am getting errors pretty far down the call stack with this approach.