Commit ·
d7ddabb
1
Parent(s): 84c4dbe
- app.py +1 -1
- requirements.txt +1 -5
- src/display/utils.py +23 -7
- src/leaderboard/read_evals.py +2 -2
- src/populate.py +7 -6
app.py
CHANGED
|
@@ -20,7 +20,7 @@ from src.display.utils import (
|
|
| 20 |
ModelType,
|
| 21 |
fields,
|
| 22 |
)
|
| 23 |
-
from src.envs import API, EVAL_RESULTS_PATH,
|
| 24 |
from src.populate import get_leaderboard_df
|
| 25 |
from src.submission.submit import add_new_eval
|
| 26 |
|
|
|
|
| 20 |
ModelType,
|
| 21 |
fields,
|
| 22 |
)
|
| 23 |
+
from src.envs import API, EVAL_RESULTS_PATH, REPO_ID, RESULTS_REPO, TOKEN
|
| 24 |
from src.populate import get_leaderboard_df
|
| 25 |
from src.submission.submit import add_new_eval
|
| 26 |
|
requirements.txt
CHANGED
|
@@ -9,8 +9,4 @@ huggingface-hub>=0.18.0
|
|
| 9 |
matplotlib
|
| 10 |
numpy
|
| 11 |
pandas
|
| 12 |
-
python-dateutil
|
| 13 |
-
tqdm
|
| 14 |
-
transformers
|
| 15 |
-
tokenizers>=0.15.0
|
| 16 |
-
sentencepiece
|
|
|
|
| 9 |
matplotlib
|
| 10 |
numpy
|
| 11 |
pandas
|
| 12 |
+
python-dateutil
|
|
|
|
|
|
|
|
|
|
|
|
src/display/utils.py
CHANGED
|
@@ -1,8 +1,6 @@
|
|
| 1 |
-
from dataclasses import dataclass, make_dataclass
|
| 2 |
from enum import Enum
|
| 3 |
|
| 4 |
-
import pandas as pd
|
| 5 |
-
|
| 6 |
from src.about import Tasks
|
| 7 |
|
| 8 |
def fields(raw_class):
|
|
@@ -19,15 +17,33 @@ class ColumnContent:
|
|
| 19 |
hidden: bool = False
|
| 20 |
never_hidden: bool = False
|
| 21 |
|
|
|
|
| 22 |
## Leaderboard columns
|
| 23 |
auto_eval_column_dict = []
|
| 24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
# Scores
|
| 26 |
for task in Tasks:
|
| 27 |
-
auto_eval_column_dict.append(
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
# Model information
|
| 29 |
-
auto_eval_column_dict.append(
|
| 30 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
|
| 32 |
# We use make dataclass to dynamically fill the scores from Tasks
|
| 33 |
AutoEvalColumn = make_dataclass("AutoEvalColumn", auto_eval_column_dict, frozen=True)
|
|
|
|
| 1 |
+
from dataclasses import dataclass, field, make_dataclass
|
| 2 |
from enum import Enum
|
| 3 |
|
|
|
|
|
|
|
| 4 |
from src.about import Tasks
|
| 5 |
|
| 6 |
def fields(raw_class):
|
|
|
|
| 17 |
hidden: bool = False
|
| 18 |
never_hidden: bool = False
|
| 19 |
|
| 20 |
+
|
| 21 |
## Leaderboard columns
|
| 22 |
auto_eval_column_dict = []
|
| 23 |
+
# model_name
|
| 24 |
+
auto_eval_column_dict.append((
|
| 25 |
+
"model_name",
|
| 26 |
+
ColumnContent,
|
| 27 |
+
field(default_factory=lambda: ColumnContent("Model", "markdown", True, never_hidden=True))
|
| 28 |
+
))
|
| 29 |
# Scores
|
| 30 |
for task in Tasks:
|
| 31 |
+
auto_eval_column_dict.append((
|
| 32 |
+
task.name,
|
| 33 |
+
ColumnContent,
|
| 34 |
+
field(default_factory=lambda: ColumnContent(task.value.col_name, "number", True))
|
| 35 |
+
))
|
| 36 |
# Model information
|
| 37 |
+
auto_eval_column_dict.append((
|
| 38 |
+
"model_type",
|
| 39 |
+
ColumnContent,
|
| 40 |
+
field(default_factory=lambda: ColumnContent("Type", "str", False))
|
| 41 |
+
))
|
| 42 |
+
auto_eval_column_dict.append((
|
| 43 |
+
"params",
|
| 44 |
+
ColumnContent,
|
| 45 |
+
field(default_factory=lambda: ColumnContent("#Params (B)", "number", False))
|
| 46 |
+
))
|
| 47 |
|
| 48 |
# We use make dataclass to dynamically fill the scores from Tasks
|
| 49 |
AutoEvalColumn = make_dataclass("AutoEvalColumn", auto_eval_column_dict, frozen=True)
|
src/leaderboard/read_evals.py
CHANGED
|
@@ -63,8 +63,8 @@ class EvalResult:
|
|
| 63 |
"""Converts the Eval Result to a dict compatible with our dataframe display"""
|
| 64 |
data_dict = {
|
| 65 |
"Model": self.model_name,
|
| 66 |
-
|
| 67 |
-
|
| 68 |
}
|
| 69 |
|
| 70 |
for task in Tasks:
|
|
|
|
| 63 |
"""Converts the Eval Result to a dict compatible with our dataframe display"""
|
| 64 |
data_dict = {
|
| 65 |
"Model": self.model_name,
|
| 66 |
+
"Type": self.model_type.value.name,
|
| 67 |
+
"#Params (B)": self.num_params
|
| 68 |
}
|
| 69 |
|
| 70 |
for task in Tasks:
|
src/populate.py
CHANGED
|
@@ -1,8 +1,6 @@
|
|
| 1 |
-
import json
|
| 2 |
-
import os
|
| 3 |
-
|
| 4 |
import pandas as pd
|
| 5 |
|
|
|
|
| 6 |
from src.display.formatting import has_no_nan_values
|
| 7 |
from src.display.utils import AutoEvalColumn
|
| 8 |
from src.leaderboard.read_evals import get_raw_eval_results
|
|
@@ -14,10 +12,13 @@ def get_leaderboard_df(results_path: str, cols: list, benchmark_cols: list) -> p
|
|
| 14 |
all_data_json = [v.to_dict() for v in raw_data]
|
| 15 |
|
| 16 |
df = pd.DataFrame.from_records(all_data_json)
|
| 17 |
-
|
|
|
|
| 18 |
|
| 19 |
-
df = df[cols].round(decimals=2)
|
|
|
|
|
|
|
| 20 |
|
| 21 |
# filter out if any of the benchmarks have not been produced
|
| 22 |
-
df = df[has_no_nan_values(df, benchmark_cols)]
|
| 23 |
return df
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
import pandas as pd
|
| 2 |
|
| 3 |
+
from src.about import Tasks
|
| 4 |
from src.display.formatting import has_no_nan_values
|
| 5 |
from src.display.utils import AutoEvalColumn
|
| 6 |
from src.leaderboard.read_evals import get_raw_eval_results
|
|
|
|
| 12 |
all_data_json = [v.to_dict() for v in raw_data]
|
| 13 |
|
| 14 |
df = pd.DataFrame.from_records(all_data_json)
|
| 15 |
+
# print(df)
|
| 16 |
+
# df = df.sort_values(by=[df.columns.values[3]], ascending=True)
|
| 17 |
|
| 18 |
+
# df = df[cols].round(decimals=2)
|
| 19 |
+
# print(cols)
|
| 20 |
+
# print(df)
|
| 21 |
|
| 22 |
# filter out if any of the benchmarks have not been produced
|
| 23 |
+
# df = df[has_no_nan_values(df, benchmark_cols)]
|
| 24 |
return df
|