Skip to content

[FEATURE REQUEST]: Allow custom kernels in SingleTaskMultiFidelityGP #3158

@TobyBoyne

Description

@TobyBoyne

Motivation

I have a BO problem that is multifidelity, and requires the use of a custom kernel. I therefore cannot easily use a SingleTaskMultiFidelityGP, since it only supports using the default get_covar_module_with_dim_scaled_prior for the non-fidelity dims.

Describe the solution you'd like to see implemented in BoTorch.

I would like to add a cont_kernel_factory argument to SingleTaskMultiFidelityGP, similar to the same argument in SingleTaskMixedGP.

As an aside, I also wonder if we should remove the ScaleKernel, since this has also been removed across most other models? Although maybe it's required since the DownsamplingKernel is not bounded to [0, 1] compared to, for example, the RBFKernel.

Describe any alternatives you've considered to the above solution.

One could simply construct the kernel first, and pass it as the covar_module argument into SingleTaskGP. This works, but would require duplicating a lot of the logic in _setup_multifidelity_covar_module, as well as missing the setup logic in SingleTaskMultiFidelityGP.__init__

Is this related to an existing issue in BoTorch or another repository? If so please include links to those Issues here.

No response

Pull Request

Yes

Code of Conduct

  • I agree to follow BoTorch's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions