|
""" |
|
Adapted from the SEED-Bench Leaderboard by AILab-CVC |
|
Source: https://huggingface.co/spaces/AILab-CVC/SEED-Bench_Leaderboard |
|
""" |
|
|
|
import gradio as gr |
|
import pandas as pd |
|
from constants import * |
|
global data_component, filter_component |
|
|
|
def upload_file(files): |
|
file_paths = [file.name for file in files] |
|
return file_paths |
|
|
|
def get_baseline_df(): |
|
df = pd.read_csv(CSV_DIR) |
|
df = df.sort_values(by=DEFAULT_SPLIT, ascending=False) |
|
present_columns = MODEL_INFO + [DEFAULT_SPLIT] |
|
df = df[present_columns] |
|
|
|
return df |
|
|
|
def get_all_df(): |
|
df = pd.read_csv(CSV_DIR) |
|
df = df.sort_values(by=DEFAULT_SPLIT, ascending=False) |
|
|
|
return df |
|
|
|
block = gr.Blocks() |
|
|
|
|
|
with block: |
|
gr.Markdown( |
|
LEADERBORAD_INTRODUCTION |
|
) |
|
with gr.Tabs(elem_classes="tab-buttons") as tabs: |
|
with gr.TabItem("🏅 EgoPlan Benchmark", elem_id="evalcrafter-benchmark-tab-table", id=0): |
|
|
|
gr.Markdown( |
|
TABLE_INTRODUCTION |
|
) |
|
|
|
dropdown_value = gr.inputs.Dropdown( |
|
choices=SPLIT_INFO, |
|
default=DEFAULT_SPLIT |
|
) |
|
|
|
|
|
data_component = gr.components.Dataframe( |
|
value=get_baseline_df, |
|
headers=COLUMN_NAMES, |
|
type="pandas", |
|
datatype=DATA_TITILE_TYPE, |
|
interactive=False, |
|
visible=True, |
|
) |
|
|
|
def on_dropdown_value_change(selected_split): |
|
|
|
present_columns = MODEL_INFO + [selected_split] |
|
updated_data = get_all_df()[present_columns].dropna() |
|
updated_data = updated_data.sort_values(by=present_columns[-1], ascending=False) |
|
updated_headers = present_columns |
|
update_datatype = [DATA_TITILE_TYPE[COLUMN_NAMES.index(x)] for x in updated_headers] |
|
|
|
|
|
filter_component = gr.components.Dataframe( |
|
value=updated_data, |
|
headers=updated_headers, |
|
type="pandas", |
|
datatype=update_datatype, |
|
interactive=False, |
|
visible=True, |
|
) |
|
|
|
return filter_component.value |
|
|
|
dropdown_value.change(fn=on_dropdown_value_change, inputs=dropdown_value, outputs=data_component) |
|
|
|
|
|
with gr.TabItem("📝 About", elem_id="egoplan-benchmark-tab-table", id=2): |
|
gr.Markdown(LEADERBORAD_INFO, elem_classes="markdown-text") |
|
|
|
|
|
with gr.Row(): |
|
data_run = gr.Button("Refresh") |
|
data_run.click( |
|
get_baseline_df, outputs=data_component |
|
) |
|
|
|
gr.Markdown(r""" |
|
Please cite this paper if you find it useful ♥️: |
|
|
|
```bibtex |
|
@article{chen2023egoplan, |
|
title={EgoPlan-Bench: Benchmarking Multimodal Large Language Models for Human-Level Planning}, |
|
author={Chen, Yi and Ge, Yuying and Ge, Yixiao and Ding, Mingyu and Li, Bohao and Wang, Rui and Xu, Ruifeng and Shan, Ying and Liu, Xihui}, |
|
journal={arXiv preprint arXiv:2312.06722}, |
|
year={2023} |
|
} |
|
``` |
|
""") |
|
|
|
|
|
block.launch(share=False) |