-
Notifications
You must be signed in to change notification settings - Fork 73
Revise SVR dataset scope and address uncaught errors #208
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
base: main
Are you sure you want to change the base?
Changes from all commits
80ec38e
0ce10ea
1e7ae9e
bcf452a
9f1742e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -65,22 +65,31 @@ def enrich_metrics( | |
| """Transforms raw performance and other results into aggregated metrics""" | ||
| # time metrics | ||
| res = bench_result.copy() | ||
| mean, std = box_filter(res["time[ms]"]) | ||
| if include_performance_stability_metrics: | ||
| if isinstance(res["time[ms]"], list): | ||
| mean, std = box_filter(res["time[ms]"]) | ||
| if include_performance_stability_metrics: | ||
| res.update( | ||
| { | ||
| "1st run time[ms]": res["time[ms]"][0], | ||
| "1st-mean run ratio": res["time[ms]"][0] / mean, | ||
| } | ||
| ) | ||
| res.update( | ||
| { | ||
| "1st run time[ms]": res["time[ms]"][0], | ||
| "1st-mean run ratio": res["time[ms]"][0] / mean, | ||
| "time[ms]": mean, | ||
| "time CV": std / mean, # Coefficient of Variation | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's very confusing to have a measurement called "time CV" reflecting the coefficient of variation when we also have procedures doing cross validation there. Also note that this is not actually the coefficient of variation due to the "boxed" methodology. Perhaps could output just the standard deviation and name it 'std[ms]'. Or otherwise maybe could name it "std to mean (ratio)".
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't disagree with you, in fact for the large-scale branch that we have for multi-gpu we use std instead of CV. But I suggest revising this in a different PR as I did not change the logic here - the only reason the diff shows is because there was a condition added. Scope of this PR is resolving slowdowns/errors/failures and improving stability of CI jobs. |
||
| } | ||
| ) | ||
| res.update( | ||
| { | ||
| "time[ms]": mean, | ||
| "time CV": std / mean, # Coefficient of Variation | ||
| } | ||
| ) | ||
| else: | ||
| # already aggregated (e.g. from a baseline file) | ||
| mean = res["time[ms]"] | ||
| std = res.get("time std[ms]", 0.0) | ||
| if mean != 0: | ||
| res["time CV"] = std / mean | ||
| else: | ||
| res["time CV"] = 0.0 | ||
| cost = res.get("cost[microdollar]", None) | ||
| if cost: | ||
| if cost and isinstance(cost, list): | ||
| res["cost[microdollar]"] = box_filter(res["cost[microdollar]"])[0] | ||
| batch_size = res.get("batch_size", None) | ||
| if batch_size: | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.
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.
Is it possible to have mean == 0 here?
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.
If the mean runtime is 0 then we have larger problems than a divide by zero. But I did not update the logic here (see main branch), the diff only shows because I added an additional condition (
if isinstance(res["time[ms]"], list):). There is no diff within this condition.