Skip to content

Some clean-up for MES-based acqusition functions #2769

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

Closed
wants to merge 1 commit into from

Conversation

saitcakmak
Copy link
Contributor

@saitcakmak saitcakmak commented Mar 12, 2025

Summary:

  • Merges DiscreteMaxValueBase into MaxValueBase. An abstract base class that only has one subclass, which is also an abstract base class, doesn't really provide much value and creates unreachable code that can only be tested by defining dummy subclasses.
  • Adds an explicit error when multi-output models are used. Both batched SingleTaskGP and ModelListGP would error out with different reasons. I suspect the underlying code supports it but e2e support needs some modifications.
  • Errors out if expand is provided to qMultiFidelityLowerBoundMaxValueEntropy. It produces outputs of wrong shape, which points to some missing handling of the different tensor shapes within the underlying code.
  • Adds a very basic test for expand with qMultiFidelityMaxValueEntropy, which produces output of correct shape.
  • Updates tests to use actual models rather than mock models. Testing that some functionality (like multi-output model support) works with a mock model doesn't actually mean it works. We should be using mock models a lot more sparingly in tests.

Differential Revision: D71051750

@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Mar 12, 2025
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D71051750

Copy link

codecov bot commented Mar 12, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.99%. Comparing base (641b16f) to head (c773094).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2769      +/-   ##
==========================================
- Coverage   99.99%   99.99%   -0.01%     
==========================================
  Files         202      202              
  Lines       18506    18495      -11     
==========================================
- Hits        18505    18494      -11     
  Misses          1        1              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

saitcakmak added a commit to saitcakmak/botorch that referenced this pull request Mar 13, 2025
Summary:

- Merges `DiscreteMaxValueBase` into `MaxValueBase`. An abstract base class that only has one subclass, which is also an abstract base class, doesn't really provide much value and creates unreachable code that can only be tested by defining dummy subclasses.
- Adds an explicit error when multi-output models are used. Both batched `SingleTaskGP` and `ModelListGP` would error out with different reasons. I suspect the underlying code supports it but e2e support needs some modifications.
- Errors out if `expand` is provided to `qMultiFidelityLowerBoundMaxValueEntropy`. It produces outputs of wrong shape, which points to some missing handling of the different tensor shapes within the underlying code.
- Adds a very basic test for `expand` with `qMultiFidelityMaxValueEntropy`, which produces output of correct shape.
- Updates tests to use actual models rather than mock models. Testing that some functionality (like multi-output model support) works with a mock model doesn't actually mean it works. We should be using mock models a lot more sparingly in tests.

Differential Revision: D71051750
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D71051750

Summary:

- Merges `DiscreteMaxValueBase` into `MaxValueBase`. An abstract base class that only has one subclass, which is also an abstract base class, doesn't really provide much value and creates unreachable code that can only be tested by defining dummy subclasses.
- Adds an explicit error when multi-output models are used. Both batched `SingleTaskGP` and `ModelListGP` would error out with different reasons. I suspect the underlying code supports it but e2e support needs some modifications.
- Errors out if `expand` is provided to `qMultiFidelityLowerBoundMaxValueEntropy`. It produces outputs of wrong shape, which points to some missing handling of the different tensor shapes within the underlying code.
- Adds a very basic test for `expand` with `qMultiFidelityMaxValueEntropy`, which produces output of correct shape.
- Updates tests to use actual models rather than mock models. Testing that some functionality (like multi-output model support) works with a mock model doesn't actually mean it works. We should be using mock models a lot more sparingly in tests.

Reviewed By: esantorella

Differential Revision: D71051750
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D71051750

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 3dc2838.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Do not delete this pull request or issue due to inactivity. fb-exported Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants