-
Notifications
You must be signed in to change notification settings - Fork 29
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
Apply sorting to the entire table #4620
Comments
Filters were applied to commits in #4363, though sorting is currently only applied to experiments under commits. |
@Danila89, do custom plots work for your use case instead of table sorting? You can use them to compare a metric/param across all commits and experiments: Screen.Recording.2023-09-05.at.6.15.36.PM.mov |
These plots are really helpful, but it is essential for me to use some filtering of the experiments before plotting them. I didn't find the way to filter experiments before plotting them in the vscode extension. |
Filtering experiments in custom plots would be simple enough to implement! Would that enhancement work for your use case or would table sorting still be needed? |
It is OK like a workaround (and a very useful feature by the way), but table sorting is also nice to have |
Did some research for table sorting and tried a couple ideas. 1. Flattening then sorting the tableBy flattening the table and turning off nested rows entirely, we could sort all rows from biggest to smallest and vice versa. While I don't think this would be too hard to implement on the backend, we'd need to rethink how our table would look while flattened (how do we tell what row belongs to what commit/branch). This would require some design work and adjusting our table components to handle the possibility. 2. Sorting commits along with experimentsCommits would be sorted along with the experiments based on their largest (smallest could work too) value among its baseline values and its subrows' values. While this does make sorting more complicated (and probably performant since we need to parse all the table values), it is doable. I was able to get a working demo made pretty quickly. The demo is using the commit's and its subrows' max value to sort: Screen.Recording.2023-09-12.at.11.28.09.AM.mov3. Sorting commits and branches along with experimentsBranches would be sorted similarly to how commits are sorted in idea 2 aka max value among itself and subrow's values. I also think it's doable as well but would be a bit more complicated/performant than method 2 since now we're sorting through 3 row layers instead of 2. What do we think? cc @shcheklein, @mattseddon |
As discussed in planning we've decided on working on flattening then sorting the entire table. Here's how the table looks flattened: Screen.Recording.2023-09-13.at.10.55.39.AM.movThings to consider for this table:
|
Finished the first iteration of the sorted table design! Demo/Images: Screen.Recording.2023-09-20.at.11.42.45.AM.movI've added a column called "Branch/Commit" (Other options could be "Parents" or "Git Details") that gives branch/commit information and has a tooltip in the header that explains the currently missing functionality. I do think we'll be able to add an action somewhere for increasing/decreasing commits but I figured we could do so in a follow-up since I wasn't sure where yet. What do we think? cc @shcheklein |
Good point about the need for the action! yes, can be a followup. I don't know how to do this also. Can be a context menu in a branch column? Can be
my 2cs - let's split into Parent and Branch/Tags. Otherwise we are mixing semantics in the same column. |
Updated the design by splitting the "Branch/Commit" column into "Branch/Tags" and "Parent" columns: Screen.Recording.2023-09-21.at.11.22.21.AM.movI kept the commit/branch icons to better differentiate them from regular cell columns, but here's an quick example of how they look without the icons: cc @shcheklein |
I still have concerns over the amount of space that we'll be taking up by adding two columns instead of one. We should also note that the "parent" or "commit" column will be empty when the record is a commit. I'd suggest changing the name to baseline even if we keep them separate. |
Baseline is already used in Studio for delta / comparison mode. So, I think we should try to avoid it. For commits we can show their actual parent commit? |
@shcheklein is this what you're talking about: The term https://dvc.org/doc/user-guide/experiment-management |
Yes,Matt! That's the baseline that I meant. |
So, I suggest not making it worse. I think parent is descriptive and applies to commits and exps, wdyt? Overall, not a strong opinion. |
As of release Screen.Recording.2023-09-26.at.12.12.39.PM.mov@Danila89, feel free to give us any feedback you have on the feature. |
Works for me now, thank you very much! |
According to this message sorting and filtering in vscode extension is only applied to the experiments under commit.
I'm using the extension as a leaderboard and it would be pretty convenient to be able to sort/filter the entire table.
The text was updated successfully, but these errors were encountered: