Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
Add size vs. score graph
Browse files- app.py +24 -0
- pyproject.toml +1 -0
- requirements.txt +5 -0
- style.css +5 -0
- uv.lock +24 -0
app.py
CHANGED
|
@@ -2,6 +2,8 @@ import os
|
|
| 2 |
|
| 3 |
import gradio as gr
|
| 4 |
import pandas as pd
|
|
|
|
|
|
|
| 5 |
from apscheduler.schedulers.background import BackgroundScheduler
|
| 6 |
from huggingface_hub import snapshot_download
|
| 7 |
|
|
@@ -314,6 +316,18 @@ def toggle_all_categories(action: str) -> list[gr.CheckboxGroup]:
|
|
| 314 |
return results
|
| 315 |
|
| 316 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 317 |
SELECT_ALL_BUTTON_LABEL = "Select All"
|
| 318 |
SELECT_ALL_BUTTON_LABEL_JA = "全選択"
|
| 319 |
SELECT_NONE_BUTTON_LABEL = "Select None"
|
|
@@ -443,6 +457,8 @@ with gr.Blocks() as demo_leaderboard:
|
|
| 443 |
visible=True,
|
| 444 |
)
|
| 445 |
|
|
|
|
|
|
|
| 446 |
# Dummy leaderboard for handling the case when the user uses backspace key
|
| 447 |
hidden_leaderboard_table_for_search = gr.Dataframe(
|
| 448 |
value=original_df[COLS],
|
|
@@ -502,6 +518,14 @@ with gr.Blocks() as demo_leaderboard:
|
|
| 502 |
outputs=leaderboard_table,
|
| 503 |
)
|
| 504 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 505 |
# Check query parameter once at startup and update search bar + hidden component
|
| 506 |
demo_leaderboard.load(fn=load_query, outputs=[search_bar, hidden_search_bar])
|
| 507 |
|
|
|
|
| 2 |
|
| 3 |
import gradio as gr
|
| 4 |
import pandas as pd
|
| 5 |
+
import plotly.express as px
|
| 6 |
+
import plotly.graph_objects as go
|
| 7 |
from apscheduler.schedulers.background import BackgroundScheduler
|
| 8 |
from huggingface_hub import snapshot_download
|
| 9 |
|
|
|
|
| 316 |
return results
|
| 317 |
|
| 318 |
|
| 319 |
+
def plot_size_vs_score(df: pd.DataFrame, hidden_df: pd.DataFrame) -> go.Figure:
|
| 320 |
+
df2 = hidden_df.iloc[df.index]
|
| 321 |
+
df2 = df2[df2["#Params (B)"] > 0]
|
| 322 |
+
df2 = df2[["model_name_for_query", "#Params (B)", "AVG"]]
|
| 323 |
+
df2["AVG"] = df2["AVG"].astype(float)
|
| 324 |
+
df2 = df2.rename(columns={"model_name_for_query": "Model"})
|
| 325 |
+
fig = px.scatter(df2, x="#Params (B)", y="AVG", hover_data=["Model"])
|
| 326 |
+
fig.update_traces(hovertemplate="<b>%{customdata[0]}</b><br>#Params: %{x:.2f}B<br>AVG: %{y:.4f}<extra></extra>")
|
| 327 |
+
fig.update_layout(yaxis_range=[0, 1])
|
| 328 |
+
return fig
|
| 329 |
+
|
| 330 |
+
|
| 331 |
SELECT_ALL_BUTTON_LABEL = "Select All"
|
| 332 |
SELECT_ALL_BUTTON_LABEL_JA = "全選択"
|
| 333 |
SELECT_NONE_BUTTON_LABEL = "Select None"
|
|
|
|
| 457 |
visible=True,
|
| 458 |
)
|
| 459 |
|
| 460 |
+
graph_size_vs_score = gr.Plot(label="Model size vs. Average score")
|
| 461 |
+
|
| 462 |
# Dummy leaderboard for handling the case when the user uses backspace key
|
| 463 |
hidden_leaderboard_table_for_search = gr.Dataframe(
|
| 464 |
value=original_df[COLS],
|
|
|
|
| 518 |
outputs=leaderboard_table,
|
| 519 |
)
|
| 520 |
|
| 521 |
+
leaderboard_table.change(
|
| 522 |
+
fn=plot_size_vs_score,
|
| 523 |
+
inputs=[leaderboard_table, hidden_leaderboard_table_for_search],
|
| 524 |
+
outputs=graph_size_vs_score,
|
| 525 |
+
api_name=False,
|
| 526 |
+
queue=False,
|
| 527 |
+
)
|
| 528 |
+
|
| 529 |
# Check query parameter once at startup and update search bar + hidden component
|
| 530 |
demo_leaderboard.load(fn=load_query, outputs=[search_bar, hidden_search_bar])
|
| 531 |
|
pyproject.toml
CHANGED
|
@@ -9,6 +9,7 @@ dependencies = [
|
|
| 9 |
"datasets>=3.0.1",
|
| 10 |
"gradio>=5.3.0",
|
| 11 |
"hf-transfer>=0.1.8",
|
|
|
|
| 12 |
"transformers>=4.45.2",
|
| 13 |
]
|
| 14 |
|
|
|
|
| 9 |
"datasets>=3.0.1",
|
| 10 |
"gradio>=5.3.0",
|
| 11 |
"hf-transfer>=0.1.8",
|
| 12 |
+
"plotly>=5.24.1",
|
| 13 |
"transformers>=4.45.2",
|
| 14 |
]
|
| 15 |
|
requirements.txt
CHANGED
|
@@ -120,6 +120,7 @@ packaging==24.1
|
|
| 120 |
# gradio
|
| 121 |
# gradio-client
|
| 122 |
# huggingface-hub
|
|
|
|
| 123 |
# transformers
|
| 124 |
pandas==2.2.3
|
| 125 |
# via
|
|
@@ -127,6 +128,8 @@ pandas==2.2.3
|
|
| 127 |
# gradio
|
| 128 |
pillow==10.4.0
|
| 129 |
# via gradio
|
|
|
|
|
|
|
| 130 |
propcache==0.2.0
|
| 131 |
# via yarl
|
| 132 |
pyarrow==17.0.0
|
|
@@ -184,6 +187,8 @@ starlette==0.40.0
|
|
| 184 |
# via
|
| 185 |
# fastapi
|
| 186 |
# gradio
|
|
|
|
|
|
|
| 187 |
tokenizers==0.20.1
|
| 188 |
# via transformers
|
| 189 |
tomlkit==0.12.0
|
|
|
|
| 120 |
# gradio
|
| 121 |
# gradio-client
|
| 122 |
# huggingface-hub
|
| 123 |
+
# plotly
|
| 124 |
# transformers
|
| 125 |
pandas==2.2.3
|
| 126 |
# via
|
|
|
|
| 128 |
# gradio
|
| 129 |
pillow==10.4.0
|
| 130 |
# via gradio
|
| 131 |
+
plotly==5.24.1
|
| 132 |
+
# via open-japanese-llm-leaderboard (pyproject.toml)
|
| 133 |
propcache==0.2.0
|
| 134 |
# via yarl
|
| 135 |
pyarrow==17.0.0
|
|
|
|
| 187 |
# via
|
| 188 |
# fastapi
|
| 189 |
# gradio
|
| 190 |
+
tenacity==9.0.0
|
| 191 |
+
# via plotly
|
| 192 |
tokenizers==0.20.1
|
| 193 |
# via transformers
|
| 194 |
tomlkit==0.12.0
|
style.css
CHANGED
|
@@ -108,3 +108,8 @@ table th:first-child {
|
|
| 108 |
.accordion {
|
| 109 |
min-width: 200px!important;
|
| 110 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 108 |
.accordion {
|
| 109 |
min-width: 200px!important;
|
| 110 |
}
|
| 111 |
+
|
| 112 |
+
/* Hide the modebar of Plotly */
|
| 113 |
+
.modebar-group {
|
| 114 |
+
display: none;
|
| 115 |
+
}
|
uv.lock
CHANGED
|
@@ -797,6 +797,7 @@ dependencies = [
|
|
| 797 |
{ name = "datasets" },
|
| 798 |
{ name = "gradio" },
|
| 799 |
{ name = "hf-transfer" },
|
|
|
|
| 800 |
{ name = "transformers" },
|
| 801 |
]
|
| 802 |
|
|
@@ -806,6 +807,7 @@ requires-dist = [
|
|
| 806 |
{ name = "datasets", specifier = ">=3.0.1" },
|
| 807 |
{ name = "gradio", specifier = ">=5.3.0" },
|
| 808 |
{ name = "hf-transfer", specifier = ">=0.1.8" },
|
|
|
|
| 809 |
{ name = "transformers", specifier = ">=4.45.2" },
|
| 810 |
]
|
| 811 |
|
|
@@ -969,6 +971,19 @@ wheels = [
|
|
| 969 |
{ url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661 },
|
| 970 |
]
|
| 971 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 972 |
[[package]]
|
| 973 |
name = "propcache"
|
| 974 |
version = "0.2.0"
|
|
@@ -1479,6 +1494,15 @@ wheels = [
|
|
| 1479 |
{ url = "https://files.pythonhosted.org/packages/0a/0f/64baf7a06492e8c12f5c4b49db286787a7255195df496fc21f5fd9eecffa/starlette-0.40.0-py3-none-any.whl", hash = "sha256:c494a22fae73805376ea6bf88439783ecfba9aac88a43911b48c653437e784c4", size = 73303 },
|
| 1480 |
]
|
| 1481 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1482 |
[[package]]
|
| 1483 |
name = "tokenizers"
|
| 1484 |
version = "0.20.1"
|
|
|
|
| 797 |
{ name = "datasets" },
|
| 798 |
{ name = "gradio" },
|
| 799 |
{ name = "hf-transfer" },
|
| 800 |
+
{ name = "plotly" },
|
| 801 |
{ name = "transformers" },
|
| 802 |
]
|
| 803 |
|
|
|
|
| 807 |
{ name = "datasets", specifier = ">=3.0.1" },
|
| 808 |
{ name = "gradio", specifier = ">=5.3.0" },
|
| 809 |
{ name = "hf-transfer", specifier = ">=0.1.8" },
|
| 810 |
+
{ name = "plotly", specifier = ">=5.24.1" },
|
| 811 |
{ name = "transformers", specifier = ">=4.45.2" },
|
| 812 |
]
|
| 813 |
|
|
|
|
| 971 |
{ url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661 },
|
| 972 |
]
|
| 973 |
|
| 974 |
+
[[package]]
|
| 975 |
+
name = "plotly"
|
| 976 |
+
version = "5.24.1"
|
| 977 |
+
source = { registry = "https://pypi.org/simple" }
|
| 978 |
+
dependencies = [
|
| 979 |
+
{ name = "packaging" },
|
| 980 |
+
{ name = "tenacity" },
|
| 981 |
+
]
|
| 982 |
+
sdist = { url = "https://files.pythonhosted.org/packages/79/4f/428f6d959818d7425a94c190a6b26fbc58035cbef40bf249be0b62a9aedd/plotly-5.24.1.tar.gz", hash = "sha256:dbc8ac8339d248a4bcc36e08a5659bacfe1b079390b8953533f4eb22169b4bae", size = 9479398 }
|
| 983 |
+
wheels = [
|
| 984 |
+
{ url = "https://files.pythonhosted.org/packages/e5/ae/580600f441f6fc05218bd6c9d5794f4aef072a7d9093b291f1c50a9db8bc/plotly-5.24.1-py3-none-any.whl", hash = "sha256:f67073a1e637eb0dc3e46324d9d51e2fe76e9727c892dde64ddf1e1b51f29089", size = 19054220 },
|
| 985 |
+
]
|
| 986 |
+
|
| 987 |
[[package]]
|
| 988 |
name = "propcache"
|
| 989 |
version = "0.2.0"
|
|
|
|
| 1494 |
{ url = "https://files.pythonhosted.org/packages/0a/0f/64baf7a06492e8c12f5c4b49db286787a7255195df496fc21f5fd9eecffa/starlette-0.40.0-py3-none-any.whl", hash = "sha256:c494a22fae73805376ea6bf88439783ecfba9aac88a43911b48c653437e784c4", size = 73303 },
|
| 1495 |
]
|
| 1496 |
|
| 1497 |
+
[[package]]
|
| 1498 |
+
name = "tenacity"
|
| 1499 |
+
version = "9.0.0"
|
| 1500 |
+
source = { registry = "https://pypi.org/simple" }
|
| 1501 |
+
sdist = { url = "https://files.pythonhosted.org/packages/cd/94/91fccdb4b8110642462e653d5dcb27e7b674742ad68efd146367da7bdb10/tenacity-9.0.0.tar.gz", hash = "sha256:807f37ca97d62aa361264d497b0e31e92b8027044942bfa756160d908320d73b", size = 47421 }
|
| 1502 |
+
wheels = [
|
| 1503 |
+
{ url = "https://files.pythonhosted.org/packages/b6/cb/b86984bed139586d01532a587464b5805f12e397594f19f931c4c2fbfa61/tenacity-9.0.0-py3-none-any.whl", hash = "sha256:93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539", size = 28169 },
|
| 1504 |
+
]
|
| 1505 |
+
|
| 1506 |
[[package]]
|
| 1507 |
name = "tokenizers"
|
| 1508 |
version = "0.20.1"
|