OpsEval / app.py
Junetheriver's picture
added basic framework
733bd44
raw
history blame
No virus
1.38 kB
# gradio display leaderboard
import pandas as pd
import numpy as np
import matplotlib
# matplotlib.use('macosx')
import gradio as gr
import matplotlib.pyplot as plt
import plotly.graph_objects as go
from apscheduler.schedulers.background import BackgroundScheduler
from texts import INTRODUCTION_TEXT, TITLE
df_lang = {
'en': pd.DataFrame({
'name': ['GPT-3', 'T5', 'BERT', 'RoBERTa', 'XLNet'],
'score': [0.75, 0.72, 0.68, 0.65, 0.62],
'rank': [1, 2, 3, 4, 5]
}),
'zh': pd.DataFrame({
'name': ['GPT-3', 'T5', 'BERT', 'RoBERTa', 'XLNet'],
'score': [0.75, 0.72, 0.68, 0.65, 0.62],
'rank': [1, 2, 3, 4, 5]
}),
}
def create_lang_leader_board(df):
headers = df.columns
types = ["str"] + ["number"] * (len(headers) - 1)
return gr.components.Dataframe(
value=df.values.tolist(),
headers=[col_name for col_name in headers],
datatype=types,
# max_rows=10,
)
def launch_gradio():
demo = gr.Blocks()
with demo:
gr.HTML(TITLE)
gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text")
for key, df in df_lang.items():
with gr.Tab(key):
create_lang_leader_board(df)
demo.launch()
scheduler = BackgroundScheduler()
scheduler.add_job(launch_gradio, 'interval', hours=1)
scheduler.start()
launch_gradio()