-
Notifications
You must be signed in to change notification settings - Fork 383
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
unify ModelList and ModelListGP subset_output behavior #2231
Conversation
This pull request was exported from Phabricator. Differential Revision: D54203833 |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2231 +/- ##
=======================================
Coverage 99.87% 99.87%
=======================================
Files 188 188
Lines 16741 16744 +3
=======================================
+ Hits 16720 16723 +3
Misses 21 21 ☔ View full report in Codecov by Sentry. |
91c8bc7
to
d8d26ea
Compare
This pull request was exported from Phabricator. Differential Revision: D54203833 |
d8d26ea
to
d078b27
Compare
This pull request was exported from Phabricator. Differential Revision: D54203833 |
Summary: `ModelList` and `ModelListGP` have different `subset_output` methods. This is bug prone and is bug in SEBO. `ModelList.subset_output` considers that `Model`s in the list may themselves be multi-output, and considers that when splitting the input argument `idcs` across models in the list---idcs is used to index into outputs `ModelListGP.subset_output` does not consider that sub models may be multi-output and instead applies `idcs` is used to index into models. A significant issue here is that `MultitaskGP` has the number of outputs equal to the number of tasks. This causes issues for typical uses cases where all tasks refer to the same Ax outcome e.g. the real metric and a proxy of it. This is not an issue with the current use of `ModelListGP`, but it is with `Modellist`. To fix this, this diff unifies the `subset_output` behavior for `ModelListGP` and `Modellist` and prepares the appropriate arguments in Ax. Ax-side diff will follow. Reviewed By: saitcakmak, Balandat Differential Revision: D54203833
d078b27
to
bf287d4
Compare
This pull request was exported from Phabricator. Differential Revision: D54203833 |
merged as f677354 |
Summary:
ModelList
andModelListGP
have differentsubset_output
methods. This is bug prone and is bug in SEBO.ModelList.subset_output
considers thatModel
s in the list may themselves be multi-output, and considers that when splitting the input argumentidcs
across models in the list---idcs is used to index into outputsModelListGP.subset_output
does not consider that sub models may be multi-output and instead appliesidcs
is used to index into models.A significant issue here is that
MultitaskGP
has the number of outputs equal to the number of tasks. This causes issues for typical uses cases where all tasks refer to the same Ax outcome e.g. the real metric and a proxy of it. This is not an issue with the current use ofModelListGP
, but it is withModellist
.To fix this, this diff unifies the
subset_output
behavior forModelListGP
andModellist
and prepares the appropriate arguments in Ax.Ax-side diff will follow.
Reviewed By: saitcakmak, Balandat
Differential Revision: D54203833