Spaces:
Running
Running
Reduced loading of pre-submited model JSON file
Browse files
server.py
CHANGED
|
@@ -462,7 +462,7 @@ class LeaderboardServer:
|
|
| 462 |
for competitor_id in tournament_results[submission_id].keys() - {submission_id}: # without self
|
| 463 |
if competitor_id not in self.submission_id_to_data:
|
| 464 |
if pre_submit and competitor_id == pre_submit.submission_id:
|
| 465 |
-
data =
|
| 466 |
else:
|
| 467 |
raise gr.Error(f"Internal error: Submission [{competitor_id}] not found")
|
| 468 |
else:
|
|
@@ -568,7 +568,7 @@ class LeaderboardServer:
|
|
| 568 |
for submission_id in tournament_results.keys():
|
| 569 |
if submission_id not in self.submission_id_to_data:
|
| 570 |
if pre_submit and submission_id == pre_submit.submission_id:
|
| 571 |
-
data =
|
| 572 |
else:
|
| 573 |
raise gr.Error(f"Internal error: Submission [{submission_id}] not found")
|
| 574 |
else:
|
|
@@ -770,7 +770,7 @@ class LeaderboardServer:
|
|
| 770 |
result = hashlib.sha256(data).hexdigest()
|
| 771 |
return result
|
| 772 |
|
| 773 |
-
PreSubmit = namedtuple('PreSubmit', 'tournament_results, submission_id, file')
|
| 774 |
|
| 775 |
def prepare_model_for_submission(self, file, metadata) -> PreSubmit:
|
| 776 |
with open(file, "r") as f:
|
|
@@ -799,7 +799,16 @@ class LeaderboardServer:
|
|
| 799 |
tournament_results = copy.deepcopy(self.tournament_results)
|
| 800 |
else:
|
| 801 |
tournament_results = self.start_tournament(submission_id, file)
|
| 802 |
-
self.pre_submit = self.PreSubmit(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 803 |
break
|
| 804 |
gr.Info("Waiting in queue...", duration=5)
|
| 805 |
time.sleep(10)
|
|
@@ -809,7 +818,7 @@ class LeaderboardServer:
|
|
| 809 |
def save_pre_submit(self):
|
| 810 |
with self.pre_submit_lock:
|
| 811 |
if self.pre_submit:
|
| 812 |
-
tournament_results, submission_id, file = self.pre_submit
|
| 813 |
|
| 814 |
self._upload_submission(submission_id, file)
|
| 815 |
self._upload_tournament_results(tournament_results)
|
|
|
|
| 462 |
for competitor_id in tournament_results[submission_id].keys() - {submission_id}: # without self
|
| 463 |
if competitor_id not in self.submission_id_to_data:
|
| 464 |
if pre_submit and competitor_id == pre_submit.submission_id:
|
| 465 |
+
data = pre_submit.data
|
| 466 |
else:
|
| 467 |
raise gr.Error(f"Internal error: Submission [{competitor_id}] not found")
|
| 468 |
else:
|
|
|
|
| 568 |
for submission_id in tournament_results.keys():
|
| 569 |
if submission_id not in self.submission_id_to_data:
|
| 570 |
if pre_submit and submission_id == pre_submit.submission_id:
|
| 571 |
+
data = pre_submit.data
|
| 572 |
else:
|
| 573 |
raise gr.Error(f"Internal error: Submission [{submission_id}] not found")
|
| 574 |
else:
|
|
|
|
| 770 |
result = hashlib.sha256(data).hexdigest()
|
| 771 |
return result
|
| 772 |
|
| 773 |
+
PreSubmit = namedtuple('PreSubmit', 'tournament_results, submission_id, file, data')
|
| 774 |
|
| 775 |
def prepare_model_for_submission(self, file, metadata) -> PreSubmit:
|
| 776 |
with open(file, "r") as f:
|
|
|
|
| 799 |
tournament_results = copy.deepcopy(self.tournament_results)
|
| 800 |
else:
|
| 801 |
tournament_results = self.start_tournament(submission_id, file)
|
| 802 |
+
self.pre_submit = self.PreSubmit(
|
| 803 |
+
tournament_results,
|
| 804 |
+
submission_id,
|
| 805 |
+
file,
|
| 806 |
+
{
|
| 807 |
+
"results": data["results"],
|
| 808 |
+
"metadata": data.get("metadata", {}),
|
| 809 |
+
"submission_metadata": metadata,
|
| 810 |
+
}
|
| 811 |
+
)
|
| 812 |
break
|
| 813 |
gr.Info("Waiting in queue...", duration=5)
|
| 814 |
time.sleep(10)
|
|
|
|
| 818 |
def save_pre_submit(self):
|
| 819 |
with self.pre_submit_lock:
|
| 820 |
if self.pre_submit:
|
| 821 |
+
tournament_results, submission_id, file, data = self.pre_submit
|
| 822 |
|
| 823 |
self._upload_submission(submission_id, file)
|
| 824 |
self._upload_tournament_results(tournament_results)
|