Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions mlperf_logging/package_checker/seed_checker.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ def _assert_unique_seed_per_run(self, result_files):
no_logged_seed = True
error_messages = []
seed_to_result_file = {}
seeds = []
for result_file in result_files:
try:
seed_records = self._get_seed_records(result_file)
Expand All @@ -100,6 +101,7 @@ def _assert_unique_seed_per_run(self, result_files):
"Result file {} logs more than one seeds {}!".format(
result_file, seed_records))
for f, ln, s in seed_records:
seeds.append(s)
if (f, ln, s) in seed_to_result_file:
error_messages.append(
"Result file {} logs seed {} on {}:{}. However, "
Expand All @@ -114,6 +116,16 @@ def _assert_unique_seed_per_run(self, result_files):
else:
seed_to_result_file[(f, ln, s)] = result_file

sorted_seeds = sorted(set(seeds))
seed_differences = [right - left for left, right in
zip(sorted_seeds, sorted_seeds[1:])]
if (len(seed_differences) > 1 and
len(set(seed_differences)) == 1):
error_messages.append(
"Seeds across result files form an arithmetic sequence: {}. "
"Adjacent differences are all {}.".format(
sorted_seeds, seed_differences[0]))

return error_messages

def _has_seed_keyword(self, source_file):
Expand Down
Loading