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

Fix qNEI with Derivative Enabled BO #1716

Closed
wants to merge 4 commits into from
Closed

Fix qNEI with Derivative Enabled BO #1716

wants to merge 4 commits into from

Conversation

yyexela
Copy link
Contributor

@yyexela yyexela commented Mar 1, 2023

Motivation

Derivative enabled GPs allow for faster convergence rates. This is well studied in the literature and makes intuitive sense since a lot more information is provided with each objective function evaluation. I want code to be available for myself and other future researchers who want to explore derivative enabled GPs.

This PR resolves an error with the qNEI acquisition function for derivative enabled GPs. For more information, see here.

Have you read the Contributing Guidelines on pull requests?

Yes, this doesn't affect the outcome of the unit tests, though when I run the unit tests on an unmodified branch of main I get 110 failed, 853 passed, 1165 warnings.

Test Plan

I have some files from an issue (1679) I opened which show a simple case where a derivative-enabled Gaussian Process fails to find the qNEI value at a point where an equivalent non-derivative-enabled Gaussian Process does not fail.

Adding the fix in this PR removes the error.

Please let me know if I should add a specific unit test for this.

Related PRs

N/A

@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Mar 1, 2023
@yyexela yyexela changed the title Fix qNEI with Derivative enabled BO Fix qNEI with Derivative Enabled BO Mar 1, 2023
@codecov
Copy link

codecov bot commented Mar 5, 2023

Codecov Report

Merging #1716 (d239247) into main (eaa6fb2) will not change coverage.
The diff coverage is 100.00%.

❗ Current head d239247 differs from pull request most recent head fcb9584. Consider uploading reports for the commit fcb9584 to get more accurate results

@@            Coverage Diff            @@
##              main     #1716   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          170       170           
  Lines        14632     14633    +1     
=========================================
+ Hits         14632     14633    +1     
Impacted Files Coverage Δ
botorch/posteriors/gpytorch.py 100.00% <100.00%> (ø)

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@facebook-github-bot
Copy link
Contributor

@Balandat has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@SebastianAment
Copy link
Contributor

Thank you for putting up this PR @yyexela! There's one code formatting error that currently prevents us from merging this in. Could you change the order of the imports to be alphabetical from

    BlockDiagLinearOperator,
    LinearOperator,
    SumLinearOperator,
    DenseLinearOperator,

to

    BlockDiagLinearOperator,
    DenseLinearOperator,
    LinearOperator,
    SumLinearOperator,

Thanks again!

@yyexela
Copy link
Contributor Author

yyexela commented Mar 6, 2023

Hey @SebastianAment , no problem! The fix should be pushed, let me know if there's anything else I can do!

@facebook-github-bot
Copy link
Contributor

@SebastianAment has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@facebook-github-bot
Copy link
Contributor

@esantorella has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@facebook-github-bot
Copy link
Contributor

@esantorella merged this pull request in 0b744dd.

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. Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants