-
Notifications
You must be signed in to change notification settings - Fork 433
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
Shape issues with multioutput kernels #818
Comments
@kekeblom, could you post MWE? |
So in this case we have two independent gps with separate inducing points. Two kernels which use different subsets of the input. This will crash with "InvalidArgumentError: Shapes must be equal rank". |
Resolves #818 Co-authored-by: ST John <st@secondmind.ai>
@kekeblom thanks again for the bug report, late but better late than never, it's finally fixed! |
Kudos on having a watertight process! Most other projects would have probably dropped the ball at some point during those couple years. |
I have some questions regarding the
independent_interdomain_conditional
function in the multioutput module.I'm dealing with a case where I have a multiple output kernel and several independent GPs with separate inducing points. In this case the variables will have the following shapes:
Kmn: M x L x N x P
Kmm: L x M x M
Knn: N x P (or P x N x N for full_cov case)
f: M x L
q_sqrt: L x M x M
If
full_cov = False
andfull_ouput_cov = False
andwhite = False
,Ar
will have shape(L, M, N, P)
as explicitly reshaped on line 311. Now on line 327 (link below) the code will crash asLm
will have rank 3 andAr
rank 4. The comment seems to be wrong as well.GPflow/gpflow/multioutput/conditionals.py
Line 327 in 54a276a
The problem might be fixed by replacing
Ar
withA
on that line. However, then the output will have shape(N * L, P)
. Shouldn't the mean and variance have shape(N, L * P)
in this case?Am I thinking about this the wrong way?
The text was updated successfully, but these errors were encountered: