From 3b0f36e8d7ab21f04f55616a185c8431ef8d6dc7 Mon Sep 17 00:00:00 2001 From: ShriyaRishab Date: Fri, 2 Oct 2026 11:09:52 -0700 Subject: [PATCH] Disallow sequential seeds --- mlperf_logging/package_checker/seed_checker.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mlperf_logging/package_checker/seed_checker.py b/mlperf_logging/package_checker/seed_checker.py index 03e89b60..4303af25 100644 --- a/mlperf_logging/package_checker/seed_checker.py +++ b/mlperf_logging/package_checker/seed_checker.py @@ -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) @@ -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, " @@ -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):