botorch
botorch copied to clipboard
Outcome transforms not properly handled when using `BatchedMultiOutputGPyTorchModel ` in `ModelListGP`
As reported in #640, automatic application of outcome transforms fails when using a SingleTaskGP in a ModelListGP container. The reason is that SingleTaskGP subclasses BatchedMultiOutputGPyTorchModelBatchedMultiOutputGPyTorchModel, and the posterior method of that class does some dimension wrangling that is not performed inside ModelListGP's posterior method: https://github.com/pytorch/botorch/blob/master/botorch/models/gpytorch.py#L320-L349
It's not exactly clear what the best way to handle this is - one way would be to call the individual posterior methods of the submodels and then combine the posteriors together rather than the MVNs - that would automatically take care of the outcome transforms. Then of course we'd likely have to implement a ModelListPosterior to provide the posterior interface.
Is this still an issue? Since ModelListGP enforces num_outputs=1 on the sub-models, it seems like the dimension wrangling should not happen. Maybe this got resolved somewhere along the way
This should get resolved by https://github.com/pytorch/botorch/pull/1854
Closed by #1854 (let me know if that's not right)