Skip to content
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

Refactor GP Surrogates #235

Merged
merged 19 commits into from
May 16, 2024
Merged

Refactor GP Surrogates #235

merged 19 commits into from
May 16, 2024

Conversation

AdrianSosic
Copy link
Collaborator

@AdrianSosic AdrianSosic commented May 7, 2024

This PR refactors the GP surrogates into their own subpackage, thereby significantly enhancing configurability:

  • It introduces the new KernelFactory protocol that is now used by the surrogate and enables flexible context-specific construction of kernels.
  • It adds the long-awaited "preset" mechanism that allows to easily switch between a predefined set of GP configurations.
  • Based on the preset mechanism, the existing kernel logic is outsourced into corresponding default factories.
  • Convenience converters and wrappers are introduced to enable full serializability of the preconfigured settings and use with regular kernels (which is also serializable).

Not included, needs to be done next:

  • Adding corresponding LikelihoodFactory and MeanFactory mechanisms to give flexible control of the likelihood and mean models
  • Adding at least two more presets: "BOTORCH" and "EDBO" (for the unmodified EDBO setting)
  • A new example that creates plots comparing the presets

@AdrianSosic AdrianSosic added enhancement Expand / change existing functionality refactor labels May 7, 2024
@AdrianSosic AdrianSosic self-assigned this May 7, 2024
@AdrianSosic
Copy link
Collaborator Author

Hi @AVHopp, @Scienfitz: I'd say the PR is 95% ready but currently still waiting on the final fixes in #221. But if you like, you can already have a sneak peek and provide some feedback upfront 🙃

@AdrianSosic AdrianSosic force-pushed the refactor/gaussian_process branch from d6631de to ff19f49 Compare May 13, 2024 08:40
@AdrianSosic AdrianSosic marked this pull request as ready for review May 13, 2024 08:43
@AdrianSosic AdrianSosic force-pushed the refactor/gaussian_process branch 2 times, most recently from 25cdbfa to 48b7cfc Compare May 13, 2024 11:16
CHANGELOG.md Outdated Show resolved Hide resolved
@AdrianSosic AdrianSosic force-pushed the refactor/gaussian_process branch 5 times, most recently from 4653092 to 3930ef6 Compare May 14, 2024 13:52
Copy link
Collaborator

@AVHopp AVHopp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First round of comments. Have not looked at everything in detail yet.

@AdrianSosic AdrianSosic force-pushed the refactor/gaussian_process branch from 3930ef6 to 178371b Compare May 15, 2024 06:47
@AdrianSosic AdrianSosic force-pushed the refactor/gaussian_process branch from 178371b to 1d856a7 Compare May 16, 2024 08:36
@AdrianSosic AdrianSosic force-pushed the refactor/gaussian_process branch from aaed381 to b812f6c Compare May 16, 2024 09:28
@AdrianSosic AdrianSosic force-pushed the refactor/gaussian_process branch from b812f6c to 95b0f50 Compare May 16, 2024 12:18
@AdrianSosic AdrianSosic merged commit 286dca2 into main May 16, 2024
10 checks passed
@AdrianSosic AdrianSosic deleted the refactor/gaussian_process branch May 16, 2024 12:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Expand / change existing functionality refactor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants