Closed nohara-nc closed 2 years ago
I tracked down the cause of the problem, which is that the Standardize transform is returning a GPyTorchPosterior
object rather than a MultitaskGPPosterior
which is what should be getting returned.
From this, I should be able to put up a PR fixing the issue.
🐛 Bug
I am using
KroneckerMultiTaskGP
as a surrogate for multi-objective BO with correlated outputs, following the composite BO example. Passing theStandardize
outcome transform as an argument to theKroneckerMultiTaskGP
leads to an esoteric error when computing gradients of the acquisition function.To reproduce
Here is some code adapted from the tutorial on composite BO using
KroneckerMultiTaskGP
that can be found here. The only functional change is to passStandardize
as anoutcome_transform
to the surrogate.Code snippet to reproduce
Stack trace/error message
Expected Behavior
I expected candidates to be generated from
optimize_acqf
similarly to when removing the outcome transform or replacingKroneckerMultiTaskGP
withSingleTaskGP
.System information