-
Notifications
You must be signed in to change notification settings - Fork 405
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
Expose all kwargs to optimize_acqf in optimize_acqf_homotopy #2580
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed on the issue, this is quite a big divergence from the signature of the other optimize_acqf
implementations. Rather than diverging, we want to unify the signatures as much as possible, so that the code that uses one optimizer could easily switch over to another.
In addition, dict valued inputs are generally not desirable. They do not contain any meaningful type hints, which provides very limited information to the user to what the inputs should be and requires them to dig through the codebase to figure out what is acceptable. We want to reserve these only for rarely modified options.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2580 +/- ##
==========================================
- Coverage 99.98% 99.93% -0.06%
==========================================
Files 196 196
Lines 17333 17357 +24
==========================================
+ Hits 17331 17346 +15
- Misses 2 11 +9 ☔ View full report in Codecov by Sentry. |
I really am loath to contribute a PR that creates increased maintenance burden going forward for sake of documentation/type hinting, this method has these missing constraints options and has the apparent However, pragmatically as I would like this functionality, if you get back to me with decisions about the need for test failures are all saying that 2.000 is not >= 2.0 which I can debug after re-writing the wrapper function |
close in favour of #2588 |
Summary: This PR seeks to address: #2579 `optimize_acqf_homotopy` is a fairly minimal wrapper around `optimize_acqf` but didn't have all the constraint functionality. This PR copies over all of the arguments that we could in principal want to use up into `optimize_acqf_homotopy`. For the time being `final_options` has been kept. The apparent bug with fixed features not being passed to the final optimization has been fixed. a simple dict rather than `OptimizeAcqfInputs` dataclass is used to store the shared parameters. ## Related PRs The original approach in #2580 made use of kwargs which was opposed due to being less explicit. Pull Request resolved: #2588 Reviewed By: Balandat Differential Revision: D64694021 Pulled By: saitcakmak fbshipit-source-id: a10f00f0d069e411e6f12e9eafaec0eba454493d
Motivation
This PR seeks to address #2579
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Added test incorporating a linear inequality constraint
Related PRs
If this is merged as is with breaking changes then a follow-on PR will be needed in Ax