Spaces:
Running
Running
File size: 2,889 Bytes
9346f1c 4103566 4596a70 8b1f7a0 01ea22b b98f07f 54eae7e 3b3db42 3d8dbe8 9775a07 3b3db42 eeb21c9 b98f07f 2a73469 10f9b3c 30dede7 fabb601 4103566 fabb601 08ba1fc fabb601 1b8a36b eeb21c9 a885f09 eeb21c9 614ee1f 4103566 9775a07 4103566 9775a07 4103566 beaaa9e f6475aa 01233b7 58733e4 d4ccaf3 10f9b3c eeb21c9 8daa060 f7d1b51 71f25ab f7d1b51 818f024 f7d1b51 10f9b3c 511c060 10f9b3c c438de2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | import gradio as gr
from gradio_leaderboard import Leaderboard, ColumnFilter, SelectColumns
from apscheduler.schedulers.background import BackgroundScheduler
from huggingface_hub import snapshot_download
from src.about import (
CITATION_BUTTON_LABEL,
CITATION_BUTTON_TEXT,
INTRODUCTION_TEXT,
TITLE,
)
from src.display.css_html_js import custom_css
from src.display.utils import (
COLS,
AutoEvalColumn,
ModelType,
WeightType,
Precision,
fields,
)
from src.envs import API, EVAL_RESULTS_PATH, REPO_ID, RESULTS_REPO, TOKEN
from src.populate import get_leaderboard_df
def restart_space():
API.restart_space(repo_id=REPO_ID)
### Space initialisation
try:
print(EVAL_RESULTS_PATH)
snapshot_download(
repo_id=RESULTS_REPO, local_dir=EVAL_RESULTS_PATH, repo_type="dataset", tqdm_class=None, etag_timeout=30, token=TOKEN
)
except Exception:
restart_space()
""" adapted from original template, deleted everything related to queue and request, and unrelated 'titles'
our leaderboard does not have a submission queue system, does not use request, reads directly from the result repository, and displays the leaderboard
"""
LEADERBOARD_DF = get_leaderboard_df(EVAL_RESULTS_PATH, None, COLS, []) # empty arguments to meet the function requirement
def init_leaderboard(dataframe):
if dataframe is None or dataframe.empty:
raise ValueError("Leaderboard DataFrame is empty or None.")
return Leaderboard(
value=dataframe,
datatype=[c.type for c in fields(AutoEvalColumn)],
select_columns=SelectColumns(
default_selection=[c.name for c in fields(AutoEvalColumn) if c.displayed_by_default],
cant_deselect=[c.name for c in fields(AutoEvalColumn) if c.never_hidden],
label="Select Columns to Display:",
),
search_columns=[AutoEvalColumn.technique.name],
hide_columns=[c.name for c in fields(AutoEvalColumn) if c.hidden],
filter_columns=[],
bool_checkboxgroup_label="Hide models",
interactive=False,
)
demo = gr.Blocks(css=custom_css)
with demo:
gr.HTML(TITLE)
gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text")
with gr.Tabs(elem_classes="tab-buttons") as tabs: # only one tabitem left
with gr.TabItem("Leaderboard"):
leaderboard = init_leaderboard(LEADERBOARD_DF)
with gr.Row():
with gr.Accordion("📙 Citation", open=False):
citation_button = gr.Textbox(
value=CITATION_BUTTON_TEXT,
label=CITATION_BUTTON_LABEL,
lines=20,
elem_id="citation-button",
show_copy_button=True,
)
scheduler = BackgroundScheduler()
scheduler.add_job(restart_space, "interval", seconds=1800)
scheduler.start()
demo.queue(default_concurrency_limit=40).launch() |