-
Notifications
You must be signed in to change notification settings - Fork 357
(Temporary step) Give Experiment a property Data
#4686
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
Open
esantorella
wants to merge
3
commits into
facebook:main
Choose a base branch
from
esantorella:export-D87004539
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+154
−279
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
@esantorella has exported this pull request. If you are a Meta employee, you can view the originating Diff in D87004539. |
esantorella
added a commit
to esantorella/Ax
that referenced
this pull request
Dec 18, 2025
Summary: **Context**: In D86452716, we remove `Experiment`'s attribute `_data_by_trial` and give it an attribute `Data`. This is quite a complex change; in addition to the changes on `Experiment`, it requires storage changes and updating many callsites. Solely in order to split that diff up, this diff gives `Experiment` a property `data` (which will become an attribute in D86452716) and updates call sites. **Changes**: * Gives `Experiment` a property `Data` that is equivalent to `.lookup_data()` * Updates many call sites to reference `data` rather than `_data_by_trial` Differential Revision: D87004539
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4686 +/- ##
=======================================
Coverage 96.69% 96.69%
=======================================
Files 580 580
Lines 60714 60692 -22
=======================================
- Hits 58708 58687 -21
+ Misses 2006 2005 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
fa67a95 to
4c397c9
Compare
esantorella
added a commit
to esantorella/Ax
that referenced
this pull request
Dec 22, 2025
Summary: **Context**: In D86452716, we remove `Experiment`'s attribute `_data_by_trial` and give it an attribute `Data`. This is quite a complex change; in addition to the changes on `Experiment`, it requires storage changes and updating many callsites. Solely in order to split that diff up, this diff gives `Experiment` a property `data` (which will become an attribute in D86452716) and updates call sites. **Changes**: * Gives `Experiment` a property `Data` that is equivalent to `.lookup_data()` * Updates many call sites to reference `data` rather than `_data_by_trial` Differential Revision: D87004539
esantorella
added a commit
to esantorella/Ax
that referenced
this pull request
Dec 23, 2025
Summary: Pull Request resolved: facebook#4686 **Context**: This diff exists to split up a more complex change. The next diff, D86452716, will remove `Experiment`'s attribute `_data_by_trial` and give it an attribute `Data`. That is quite a complex change; in addition to the changes on `Experiment`, it requires storage changes and updating many callsites. As a first step, this diff gives `Experiment` a property `data` (which will become an attribute in D86452716) and updates call sites. It should not be landed alone. **Changes**: * Gives `Experiment` a property `Data` that is equivalent to `.lookup_data()` * Updates many call sites to reference `data` rather than `_data_by_trial` Differential Revision: D87004539
4c397c9 to
48ed359
Compare
…a_type (facebook#4691) Summary: Pull Request resolved: facebook#4691 **Context:** `default_data_constructor` and `default_data_type` are used for a few purposes: 1. Determining the type of empty data 2. Determining the type of data that results from combining multiple `Data`s 3. Validating that observations passed match the `default_data_type` on the experiment Now that we have reduced our data classes down to just `Data` and `MapData`, and there is only one map key, and those two classes now differ mainly in whether they have a "step" column, there is little reason to worry so much about tracking the intended type of data. This PR brings us closer to unifying Data and MapData, because with this change, it should always be the case that a data is a MapData if and only if it has a "step" column; thus, there is no information contained in the class that can't be obtained by chacking whether there is a "step" column. **This PR:** 1. Makes empty data `Data` 2a. When combining multiple datas, the result is MapData if one of the constituent objects is a MapData. 2b. When making a Data from a DataFrame, it should be a MapData if there is a "step" column 3. Removes some validations that are no longer necessary * Removes `Experiment._default_data_type` * Removes `Experiment.default_data_type` * Removes `Experiment.default_data_constructor` **Some TODOs for follow-up diffs:** * Deprecate or remove `default_data_type` argument to experiment * Remove `Metric.data_constructor` (if needed, replacing it with a boolean attribute indicating whether a progression will be produced) * Convert some `Metric` methods such as `_unwrap_experiment_data` into static methods or move them off `Metric` entirely now that they do not reference the `data_constructor` attribute Differential Revision: D89689313 Privacy Context Container: L1307644 Reviewed By: lena-kashtelyan
Summary: Or we could just remove it, since it's non-API... Differential Revision: D89744225
Summary: Pull Request resolved: facebook#4686 **Context**: This diff exists to split up a more complex change. The next diff, D86452716, will remove `Experiment`'s attribute `_data_by_trial` and give it an attribute `Data`. That is quite a complex change; in addition to the changes on `Experiment`, it requires storage changes and updating many callsites. As a first step, this diff gives `Experiment` a property `data` (which will become an attribute in D86452716) and updates call sites. It should not be landed alone. **Changes**: * Gives `Experiment` a property `Data` that is equivalent to `.lookup_data()` * Updates many call sites to reference `data` rather than `_data_by_trial` Differential Revision: D87004539
48ed359 to
9e60db9
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
Context: In D86452716, we remove
Experiment's attribute_data_by_trialand give it an attributeData. This is quite a complex change; in addition to the changes onExperiment, it requires storage changes and updating many callsites. Solely in order to split that diff up, this diff givesExperimenta propertydata(which will become an attribute in D86452716) and updates call sites.Changes:
Experimenta propertyDatathat is equivalent to.lookup_data()datarather than_data_by_trialDifferential Revision: D87004539