Spaces:
Running
Running
Added `submission_timestamp` and more attributes to table
Browse files
server.py
CHANGED
@@ -3,6 +3,7 @@ import glob
|
|
3 |
import json
|
4 |
import os
|
5 |
import hashlib
|
|
|
6 |
from collections import namedtuple
|
7 |
|
8 |
import gradio as gr
|
@@ -105,24 +106,49 @@ class LeaderboardServer:
|
|
105 |
local_results[task + "_" + metric] = metric_value
|
106 |
|
107 |
local_results["model"] = f'<a href="{data["metadata"]["link_to_model"]}">{submission_id}</a>'
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
|
109 |
if self.pre_submit and submission_id == self.pre_submit.submission_id:
|
110 |
processed_results.insert(0, local_results)
|
111 |
else:
|
112 |
processed_results.append(local_results)
|
113 |
dataframe = pd.DataFrame.from_records(processed_results)
|
114 |
-
|
115 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
+ list(self.tasks_metadata.keys())
|
117 |
-
+
|
118 |
-
|
119 |
-
|
120 |
-
if col != "model" and col not in self.tasks_metadata.keys()
|
121 |
-
]
|
122 |
-
)
|
123 |
dataframe = dataframe[df_order]
|
|
|
|
|
124 |
dataframe = dataframe.rename(
|
125 |
-
columns=
|
126 |
)
|
127 |
return dataframe
|
128 |
|
@@ -177,10 +203,11 @@ class LeaderboardServer:
|
|
177 |
metadata["model_predictions_sha256"] = self.get_sha256_hexdigest(data["predictions"])
|
178 |
metadata["model_results_sha256"] = self.get_sha256_hexdigest(data["results"])
|
179 |
|
180 |
-
# Délka ID můsí být omezena, protože se používá v názvu souboru
|
181 |
submission_id = self.create_submission_id(metadata)
|
182 |
metadata["submission_id"] = submission_id
|
183 |
|
|
|
|
|
184 |
with open(file, "w") as f:
|
185 |
json.dump(data, f, separators=(',', ':')) # compact JSON
|
186 |
|
|
|
3 |
import json
|
4 |
import os
|
5 |
import hashlib
|
6 |
+
import time
|
7 |
from collections import namedtuple
|
8 |
|
9 |
import gradio as gr
|
|
|
106 |
local_results[task + "_" + metric] = metric_value
|
107 |
|
108 |
local_results["model"] = f'<a href="{data["metadata"]["link_to_model"]}">{submission_id}</a>'
|
109 |
+
release = data["metadata"].get("submission_timestamp")
|
110 |
+
release = time.strftime("%Y-%m-%d", time.gmtime(release)) if release else "N/A"
|
111 |
+
local_results["release"] = release
|
112 |
+
local_results["model_type"] = data["metadata"]["model_type"]
|
113 |
+
local_results["parameters"] = data["metadata"]["parameters"]
|
114 |
+
local_results["win_score"] = "TBD" # TODO: Implementovat výpočet WinScore
|
115 |
|
116 |
if self.pre_submit and submission_id == self.pre_submit.submission_id:
|
117 |
processed_results.insert(0, local_results)
|
118 |
else:
|
119 |
processed_results.append(local_results)
|
120 |
dataframe = pd.DataFrame.from_records(processed_results)
|
121 |
+
|
122 |
+
extra_attributes_map_word_to_header = {
|
123 |
+
"model": "Model",
|
124 |
+
"release": "Release",
|
125 |
+
"win_score": "Win score",
|
126 |
+
"team_name": "Team name",
|
127 |
+
"model_name": "Model name",
|
128 |
+
"model_type": "Type",
|
129 |
+
"parameters": "Parameters",
|
130 |
+
"precision": "Precision",
|
131 |
+
"description": "Description",
|
132 |
+
"link_to_model": "Link to model"
|
133 |
+
}
|
134 |
+
first_attributes = [
|
135 |
+
"model",
|
136 |
+
"release",
|
137 |
+
"model_type",
|
138 |
+
"parameters",
|
139 |
+
"win_score",
|
140 |
+
]
|
141 |
+
df_order = list(dict.fromkeys(
|
142 |
+
first_attributes
|
143 |
+ list(self.tasks_metadata.keys())
|
144 |
+
+ list(dataframe.columns)
|
145 |
+
+ list(extra_attributes_map_word_to_header.keys())
|
146 |
+
).keys())
|
|
|
|
|
|
|
147 |
dataframe = dataframe[df_order]
|
148 |
+
attributes_map_word_to_header = {key: value["abbreviation"] for key, value in self.tasks_metadata.items()}
|
149 |
+
attributes_map_word_to_header.update(extra_attributes_map_word_to_header)
|
150 |
dataframe = dataframe.rename(
|
151 |
+
columns=attributes_map_word_to_header
|
152 |
)
|
153 |
return dataframe
|
154 |
|
|
|
203 |
metadata["model_predictions_sha256"] = self.get_sha256_hexdigest(data["predictions"])
|
204 |
metadata["model_results_sha256"] = self.get_sha256_hexdigest(data["results"])
|
205 |
|
|
|
206 |
submission_id = self.create_submission_id(metadata)
|
207 |
metadata["submission_id"] = submission_id
|
208 |
|
209 |
+
metadata["submission_timestamp"] = time.time() # timestamp
|
210 |
+
|
211 |
with open(file, "w") as f:
|
212 |
json.dump(data, f, separators=(',', ':')) # compact JSON
|
213 |
|