-
Notifications
You must be signed in to change notification settings - Fork 24
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
Attempting to learn models with multidimensional inputs leads to an error. #27
Comments
That's a bit surprising. GPflux should work just fine with multidimensional inputs. GPflux is designed around multi-output kernels. There is a check built into |
It does indeed print the warning when run with (also, this is totally tangential but the Slack invite link in the GPflux README is no longer active -- just wanted to let you know in case this isn't intentional). |
yeah Slack now expires all invite links after 30 days so we need to regularly update it. You can find the link valid until end of May in this PR: #28 |
Ok, I have now wrapped the generation of kernel and inducing points in their respective construct helpers like so: input_dim = X.shape[1]
kernel = gpflux.helpers.construct_basic_kernel(
(gpflow.kernels.SquaredExponential(active_dims=[0]) *
gpflow.kernels.SquaredExponential(active_dims=[1])),
output_dim=output_dim)
inducing_variable = gpflux.helpers.construct_basic_inducing_variables(
num_inducing, input_dim, output_dim, share_variables=True,
z_init=X[np.random.choice(X.shape[0],
size=num_inducing,
replace=False),:].copy()) Now the warning during kernel = gpflux.helpers.construct_basic_kernel(
gpflow.kernels.SquaredExponential(),
output_dim=output_dim) |
Hi @clwgg, thank you very much for raising this issue. I have to agree that the error message returned by GPflux is not clear at all. The problem is, however, that GPflux uses an
I'll open a PR to make the error messaging more informative. |
Wonderful, thank you @vdutor ! |
Thanks a lot for making this exciting project public! I'm not 100% sure if what I'm reporting is a bug of if this isn't supposed to work in GPflux, but here we go:
Describe the bug
Attempting to learn models with multidimensional inputs leads to an error.
To reproduce
First of all, the setup of a toy example and a GPflow SVGP-based version which works as expected:
And here a single-layer DGP with GPflux:
which throws the following error when reaching the last line of the example:
Expected behaviour
I expected this to not throw an error, and produce a (at least qualitatively) similar result to the SVGP implementation, but again, I'm not sure if this expectation is justified.
System information
The text was updated successfully, but these errors were encountered: