-
Notifications
You must be signed in to change notification settings - Fork 404
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
[Bug] Unable to fit Heteroskedastic GP with input warping #2551
Comments
Thanks for flagging this, your explanation makes sense to me. Were you able to verify that this worked properly before the change in #2527? |
cc @saitcakmak - I wonder if we need to distinguish the "one-shot learnable" input transforms and those that require joint optimization with the model parameters for settings like this. At a higher level, it's challenging to deal with transforms reliably and robustly in the |
When it comes to Heteroskedastic GP, my vote is to remove it from BoTorch. Even if we fix this particular issue, there is still the longstanding issue of its noise model not working correctly: #861 |
I'd agree with this, or at the very least either raise a warning to the user, or add a warning to the docstring explaining this. I was going to create another issue to point out that as of 0.12.0 all of the models are supposed to |
Summary: This model has been buggy for quite a long time and we still haven't fixed it. Removing it should be preferable to keeping around a known buggy model. Example bug reports: - pytorch#861 - pytorch#933 - pytorch#2551 Differential Revision: D65543676
Summary: X-link: pytorch/botorch#2616 This model has been buggy for quite a long time and we still haven't fixed it. Removing it should be preferable to keeping around a known buggy model. Example bug reports: - pytorch/botorch#861 - pytorch/botorch#933 - pytorch/botorch#2551 Differential Revision: D65543676
Summary: This model has been buggy for quite a long time and we still haven't fixed it. Removing it should be preferable to keeping around a known buggy model. Example bug reports: - pytorch#861 - pytorch#933 - pytorch#2551 Differential Revision: D65543676
Summary: This model has been buggy for quite a long time and we still haven't fixed it. Removing it should be preferable to keeping around a known buggy model. Example bug reports: - pytorch#861 - pytorch#933 - pytorch#2551 Reviewed By: esantorella Differential Revision: D65543676
Summary: X-link: facebook/Ax#3026 Pull Request resolved: #2616 This model has been buggy for quite a long time and we still haven't fixed it. Removing it should be preferable to keeping around a known buggy model. Example bug reports: - #861 - #933 - #2551 Reviewed By: esantorella Differential Revision: D65543676 fbshipit-source-id: e1a9a1e602786c750c7366eae671b92dcbf0f24b
🐛 Bug
Unable to fit a Heteroskedastic GP with Warp input transform.
To reproduce
** Code snippet to reproduce **
** Stack trace/error message **
Expected Behavior
Model should fit to the data without raising an error.
System information
Please complete the following information:
Additional context
I suspect this originates from a recent change to HeteroskedasticSingleTaskGP from #2527. This might be because Warp works in a slightly different way than other input transforms like Normalize. The relevant attributes for Normalize are computed at initialisation and is fixed to the same value throughout training whereas for learnable transforms like warp (where the parameters of the input transform are considered somewhat like hyper parameters of the GP) the transform dynamically changes with training iterations.
The input transform is applied on the training_inputs in the mll closure everytime the mll is computed. This can lead to the divergence of training_inputs from their values during initialisation since the warp parameters are updated and the train_inputs are now constantly evolving during training with the new changes in #2527.
I was able to hypothesize this because the mll is successfully computed once when I call fit_gpytorch_mll and it only fails the second time which I think is due to training_inputs diverging from its original value because warp parameters are updated after the first iteration.
The text was updated successfully, but these errors were encountered: