-
Notifications
You must be signed in to change notification settings - Fork 49
Introducing Seed Checker for #85 #87
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
Introducing Seed Checker for #85 #87
Conversation
MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅ |
I don't know what this means. |
…n to rerun the workflow inside the PR.
if len(seeds) > 1: | ||
warnings.warn("Result file {} logs more than one " | ||
"seeds {}!".format(result_file, seeds)) | ||
for seed in seeds: |
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.
Here, if result files F1 and F2 have seeds S1 and S2, and F1.S1 == F2.S2 this will be marked as a violation even though it is not, right? This case is rare, but do we handle it?
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.
By S1 and S2, you meant seeds logged at different lines between different result files?
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.
Yes, so each file has S1 and S2, and S1 and S2 are the same for different files. Not sure if it is a valid scenario
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 updated a few new changes to support this.
I think what you pointed out is a good idea in general, however, currently I don't think we have a way to make sure that what being logged matches the source code, thus, seed assertion on a file/lineno granularity might be not rigorous enough. For example, say I launch one run, then I modified something minor in the code (in the sense that I subjectively think a re-run is not really needed) and then launch a second run; even if I use the same seed, the file/lineno is going to be different.
TL;DR: It's probably good for now, but some follow-up work is probably needed to make it more rigorous.
…n different source files.
Hi @xyhuang ,
Hope things are going well! Please review this PR for implementing seed checker for #85.
In addition to the rules layout in #85, the following additional requirements are added to root out corner cases:
4. The set of seed(s) that one run logs must be completely different from the set of seed(s) any other run logs.