Merged
Conversation
18 tasks
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an IndexKernel and expands GaussianProcessSurrogate customization via kernel/mean/likelihood factories, including new GP presets and serialization behavior for non-BayBE GP components.
Changes:
- Introduces
IndexKerneland adds it to Hypothesis kernel strategies. - Refactors GP surrogate to accept kernel/mean/likelihood components (including some GPyTorch objects), adds
EDBO/EDBO_SMOOTHEDpresets, and updates preset exports. - Updates serialization hooks and generic/abstract type handling; adds tests for transfer learning and GPyTorch-kernel behavior.
Reviewed changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_transfer_learning.py | Adds transfer-learning recommendation test coverage |
| tests/test_gp.py | Adds tests for using GPyTorch kernels and blocking their serialization |
| tests/hypothesis_strategies/kernels.py | Extends kernel generation strategies to include IndexKernel |
| baybe/utils/boolean.py | Updates abstract detection to handle generics |
| baybe/utils/basic.py | Updates subclass discovery to handle generics |
| baybe/surrogates/gaussian_process/presets/utils.py | Adds lazy-loaded constant mean factory |
| baybe/surrogates/gaussian_process/presets/edbo_smoothed.py | Adds “smoothed EDBO” kernel/likelihood preset implementations |
| baybe/surrogates/gaussian_process/presets/edbo.py | Refactors EDBO preset into kernel/mean/likelihood factories |
| baybe/surrogates/gaussian_process/presets/default.py | Repoints default preset to smoothed EDBO kernel/likelihood + lazy mean |
| baybe/surrogates/gaussian_process/presets/core.py | Adds preset enum values and preset-based GP construction |
| baybe/surrogates/gaussian_process/presets/init.py | Expands exported preset factories and core API |
| baybe/surrogates/gaussian_process/kernel_factory.py | Removes old kernel factory module (replaced by components) |
| baybe/surrogates/gaussian_process/core.py | Adds mean/likelihood factories; uses component factories and IndexKernel for multitask |
| baybe/surrogates/gaussian_process/components/mean.py | Introduces GP mean component factory typing |
| baybe/surrogates/gaussian_process/components/likelihood.py | Introduces GP likelihood component factory typing |
| baybe/surrogates/gaussian_process/components/kernel.py | Introduces GP kernel component factory typing |
| baybe/surrogates/gaussian_process/components/generic.py | Adds generic component factory + serialization blocking hook for GPyTorch kernels |
| baybe/surrogates/gaussian_process/components/init.py | Exposes component factory types |
| baybe/serialization/core.py | Improves base-class (un)structuring and non-BayBE type names in error messages |
| baybe/searchspace/core.py | Refactors task-parameter lookup into a helper property |
| baybe/kernels/basic.py | Adds IndexKernel |
| baybe/kernels/base.py | Updates kernel factory import path and broadens active_dims type |
| CHANGELOG.md | Documents new GP customization support, presets, and IndexKernel |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
66b5748 to
917da44
Compare
Scienfitz
requested changes
Feb 15, 2026
7268da2 to
e54676d
Compare
1b0e29f to
8d6385d
Compare
AVHopp
approved these changes
Mar 4, 2026
Collaborator
AVHopp
left a comment
There was a problem hiding this comment.
LGTM, only one minor question regarding the design
Scienfitz
requested changes
Mar 4, 2026
Scienfitz
approved these changes
Mar 5, 2026
eccb673 to
feca6e0
Compare
feca6e0 to
59be817
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DevPR, parent is #745
Adds the
IndexKernelandPositiveIndexKernelclassesThe new factory design added in #746 offers full customization of the GP, following a composition approach. To reach the full potential that this offers, having BayBE
IndexKernelclasses to let the user to construct custom architectures is the natural next step, in particular because there other reasonable choices than just having the standard ICM product, such as:In addition: