ChenYi99's picture
Update EgoPlan-Bench Leaderboard.
6c61a43
"""
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]
# print(df)
return df
def get_all_df():
df = pd.read_csv(CSV_DIR)
df = df.sort_values(by=DEFAULT_SPLIT, ascending=False)
# print(df)
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
)
# pdb.set_trace()
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):
# pdb.set_trace()
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]
# pdb.set_trace()
filter_component = gr.components.Dataframe(
value=updated_data,
headers=updated_headers,
type="pandas",
datatype=update_datatype,
interactive=False,
visible=True,
)
# pdb.set_trace()
return filter_component.value
dropdown_value.change(fn=on_dropdown_value_change, inputs=dropdown_value, outputs=data_component)
# table 2
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.load(get_baseline_df, outputs=data_title)
block.launch(share=False)