Spaces:
Running
Running
import os | |
import gradio as gr | |
import pandas as pd | |
from wandb_data import get_current_runs | |
DEFAULT_VALIDATOR_UID = int(os.environ["DEFAULT_VALIDATOR_UID"]) | |
def create_dropdown() -> gr.Dropdown: | |
choices: list[tuple[str, int]] = [] | |
runs = get_current_runs() | |
for run in runs: | |
pretty_name = f"{run.uid} - {run.name} ({run.status.name()})" | |
choices.append((pretty_name, run.uid)) | |
choices = sorted(choices, key=lambda x: x[1]) | |
default = DEFAULT_VALIDATOR_UID | |
if not default in [uid for _, uid in choices]: | |
default = choices[0][1] | |
return gr.Dropdown( | |
choices, | |
value=default, | |
interactive=True, | |
label="Source Validator" | |
) | |
def create_leaderboard(validator_uid) -> gr.Dataframe: | |
data: list[list] = [] | |
runs = get_current_runs() | |
for run in runs: | |
if run.uid != validator_uid: | |
continue | |
for submission in run.submissions.values(): | |
data.append([ | |
submission.info.uid, | |
f"[{'/'.join(submission.info.repository.split('/')[-2:])}]({submission.info.repository})", | |
submission.tier, | |
round(submission.score, 3), | |
f"{submission.metrics.generation_time:.3f}s", | |
f"{submission.average_similarity * 100:.3f}%", | |
f"{submission.metrics.size / 1_000_000_000:.3f}GB", | |
f"{submission.metrics.vram_used / 1_000_000_000:.3f}GB", | |
f"{submission.metrics.watts_used:.3f}W", | |
f"{submission.metrics.load_time:.3f}s", | |
f"[{submission.info.block}](https://taostats.io/block/{submission.info.block})", | |
f"[{submission.info.revision}]({submission.info.repository}/commit/{submission.info.revision})", | |
f"[{submission.info.hotkey[:6]}...](https://taostats.io/hotkey/{submission.info.hotkey})", | |
]) | |
data.sort(key=lambda x: (-x[2], int(x[10].split('[')[1].split(']')[0]))) | |
return gr.Dataframe( | |
pd.DataFrame(data, columns=["UID", "Model", "Tier", "Score", "Gen Time", "Similarity", "Size", "VRAM Usage", "Power Usage", "Load Time", "Block", "Revision", "Hotkey"]), | |
datatype=["number", "markdown", "number", "number", "markdown", "markdown", "markdown", "markdown", "markdown", "markdown", "markdown", "markdown", "markdown"], | |
interactive=False, | |
) | |