-
Notifications
You must be signed in to change notification settings - Fork 349
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
feat: Add charts to Comparison View (ET-99) #9215
Conversation
✅ Deploy Preview for determined-ui ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #9215 +/- ##
==========================================
- Coverage 45.28% 40.78% -4.51%
==========================================
Files 1227 907 -320
Lines 154095 115425 -38670
Branches 2403 2672 +269
==========================================
- Hits 69782 47074 -22708
+ Misses 84121 68174 -15947
+ Partials 192 177 -15
Flags with carried forward coverage won't be shown. Click here to find out more.
|
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.
This looks mostly good, haven't had time to try it out but the code looks good. Let some questions and comments through out.
Will look at @hkang1's comments but he also let me know that he might not have time for more detailed review. originally asked him because he worked on this before, but now tagging @keita-determined and @thiagodallacqua-hpe too, can you please take a look as well? |
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.
not fully reviewed yet, but so far i found these.
only the Heat Map chart goes out of container. is it expected?
qq: iirc, each chart has a tab. All the charts are shown in the single page?
Screen.Recording.2024-04-25.at.2.49.32.PM.mov
theres scroll bar on hover. it looks like a bug
Screen.Recording.2024-04-25.at.3.00.28.PM.mov
chartData?.hpMetrics[key] || [], | ||
chartData?.trialIds || [], | ||
], | ||
] as FacetedData, |
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.
i think we should avoid as
as much as possible cuz it leads to the bug easily
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.
discussed with caleb and I think it makes sense to keep this particular assertion for now
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.
nvm, did remove
updated
|
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.
The UI looks great. On the details it looks like the fact that heat maps is unable to render categorical axes is a known issue that also exists in the experiment detail so it is not a newly introduced problem. It can probably just be a entirely separate PR to get that resolved. I haven't had a chance to take a real in-depth look but scanning through the code, nothing other than nits stood out, could probably use someone else's more in-depth look to shake out any potential problems.
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.
mostly working good. some finding. also the code is massive so i might add some more comments later
when i select paused
experiments, parallel coord is not displayed.
Screen.Recording.2024-05-06.at.3.10.21.PM.mov
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.
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.
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.
hmm interesting. yeah ok its not a blocking issue then
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.
log scale isnt applied in heat map
Screen.Recording.2024-05-06.at.2.52.06.PM.mov
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.
nice catch, this was not working on the existing HpHeatMaps
chart either
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.
do you think its a blocker or non-blocker?
Pushed fixes for @keita-determined's last review, and also was able to address what @hkang1 mentioned regarding categorical axis labeling. The one remaining issue right now is what happens with Parallel Coordinates when experiments with different metrics/hyperparameters are compared (I think this is the cause rather than the "Pause" state). FWIW it is a pre-existing issue and arguably could be considered out of scope of this PR, but I'll spend some time looking at it -- if I really can't make progress on it I might push for a separate ticket to address. |
@johnkim-det okay. i'll review the PR after fixing or file the issue. |
created https://hpe-aiatscale.atlassian.net/browse/ET-261 for the Parallel Coordinates issue. |
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.
the basic sanity tests around making sure they render and have the titles look good. One suggestion to handle the case if the shape of the mocked data changes (due to API client changing)
import { Scale } from 'types'; | ||
|
||
import CompareHyperparameters from './CompareHyperparameters'; | ||
export const METRIC_DATA = { |
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.
for the mock data, are there api-ts-sdk client types that can be associated with it? For example if there was a MetricData
type exported from api-ts-sdk
then you can do export const METRIC_DATA: MetricData = {
and if the shape changes in the future this test would capture the change.
If MetricData
is not available and METRIC_DATA
is actually a form of a processed data, it might be better to mock the unprocessed data with the corresponding typing and then converting it to METRIC_DATA
to capture the benefit mentioned above.
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.
not from api-ts-sdk
but adding typing with TrialMetricData
from useTrialMetrics
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.
the selected experiments are deselected in a certain conditions. not exactly sure how to reproduce it, but if i select complete
experiments and running
experiments` it happens. if this bug is not related to the PR, its not a blocker.
Screen.Recording.2024-05-14.at.11.02.28.AM.mov
nit design bug: still see the height change on hover, when there are few charts in the board.
Screen.Recording.2024-05-14.at.11.02.48.AM.mov
@keita-determined not sure if this will make sure it never happens, but added a change to Scatter Plots and Heat Maps charts to avoid width being too narrow for tooltip and creating a horizontal scrollbar. As for the other issue, I think I'm seeing the same thing on latest-main so it's not part of this PR, but I created https://hpe-aiatscale.atlassian.net/browse/ET-264. Can you confirm it's the same thing you're seeing? I'm trying to add more info for reproduction or to try to identify the cause, would be nice if you could look at that too. |
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.
one comment, otherwise LGTM
the code around charts has been complicated. hope we can have time to refactor code.
resetSettings, | ||
} = useSettings<CompareHyperparametersSettings>(settingsConfig); | ||
|
||
const selectedScale = settings.scale; |
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.
ideally we wanna remove the useEffect and use the update function in somewhere where settings.scale
is updated.
if its hard to do, can we move it into useEffect
? looks like its only used in useEffect
looks like its the same issue |
Ticket
ET-99
Description
Adding "Scatter Plots" and "Heat Map" charts to comparison view on Experiments list page
Test Plan
Checklist
docs/release-notes/
.See Release Note for details.