File size: 4,402 Bytes
460fdc7 42e8f64 b7b78a8 2dc39dd b7b78a8 dae3ac5 b7b78a8 dae3ac5 b7b78a8 dae3ac5 e5599c2 f7b4006 d4ded0a e5599c2 d72eea4 7e00f76 ba0ef01 d4ded0a c76229c 7022131 f7b4006 7022131 7786ff5 7022131 7786ff5 f7b4006 7022131 f7b4006 2dc39dd 3fe7e68 2dc39dd 3fe7e68 2dc39dd 7022131 f7b4006 2dc39dd b7b78a8 2dc39dd b7b78a8 2dc39dd 7022131 f7b4006 d4ded0a b7b78a8 d4ded0a b7b78a8 d4ded0a 7022131 f7b4006 2dc39dd b7b78a8 2dc39dd b7b78a8 2dc39dd 3fe7e68 e513088 3fe7e68 e513088 3fe7e68 7022131 f7b4006 2dc39dd b7b78a8 2dc39dd b7b78a8 f7b4006 7022131 |
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 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
import gradio as gr
import pandas as pd
from huggingface_hub import list_models
import plotly.express as px
def get_plots(task):
#TO DO : hover text with energy efficiency number, parameters
task_df= pd.read_csv('data/energy/'+task)
params_df = pd.read_csv('data/params/'+task)
params_df= params_df.rename(columns={"Link": "model"})
all_df = pd.merge(task_df, params_df, on='model')
all_df['Total GPU Energy (Wh)'] = all_df['total_gpu_energy']*1000
all_df = all_df.sort_values(by=['Total GPU Energy (Wh)'])
all_df['energy_star'] = pd.cut(all_df['Total GPU Energy (Wh)'], 3, labels=["βββ", "ββ", "β"])
fig = px.scatter(all_df, x="model", y='Total GPU Energy (Wh)', custom_data=['parameters'], height= 500, width= 800, color = 'energy_star', color_discrete_map={"β": 'red', "ββ": "yellow", "βββ": "green"})
fig.update_traces(
hovertemplate="<br>".join([
"Total Energy: %{y}",
"Parameters: %{customdata[0]}"])
)
return fig
def get_model_names(task_data):
#TODO: add link to results in model card of each model
task_df= pd.read_csv('data/energy/'+task_data)
task_df=task_df.drop_duplicates(subset=['model'])
model_names = task_df[['model']]
return model_names
demo = gr.Blocks()
with demo:
gr.Markdown(
"""# Energy Star Leaderboard
TODO """
)
with gr.Tabs():
with gr.TabItem("Text Generation π¬"):
with gr.Row():
with gr.Column():
plot = gr.Plot(get_plots('text_generation.csv'))
with gr.Column():
table = gr.Dataframe(get_model_names('text_generation.csv'))
with gr.TabItem("Image Generation π·"):
with gr.Row():
with gr.Column():
plot = gr.Plot(get_plots('image_generation.csv'))
with gr.Column():
table = gr.Dataframe(get_model_names('image_generation.csv'))
with gr.TabItem("Text Classification π"):
with gr.Row():
with gr.Column():
plot = gr.Plot(get_plots('text_classification.csv'))
with gr.Column():
table = gr.Dataframe(get_model_names('text_classification.csv'))
with gr.TabItem("Image Classification πΌοΈ"):
with gr.Row():
with gr.Column():
plot = gr.Plot(get_plots('image_classification.csv'))
with gr.Column():
table = gr.Dataframe(get_model_names('image_classification.csv'))
with gr.TabItem("Image Captioning π"):
with gr.Row():
with gr.Column():
plot = gr.Plot(get_plots('question_answering.csv'))
with gr.Column():
table = gr.Dataframe(get_model_names('question_answering.csv'))
with gr.TabItem("Summarization π"):
with gr.Row():
with gr.Column():
plot = gr.Plot(get_plots('summarization.csv'))
with gr.Column():
table = gr.Dataframe(get_model_names('summarization.csv'))
with gr.TabItem("Automatic Speech Recognition π¬ "):
with gr.Row():
with gr.Column():
plot = gr.Plot(get_plots('asr.csv'))
with gr.Column():
table = gr.Dataframe(get_model_names('asr.csv'))
with gr.TabItem("Object Detection π"):
with gr.Row():
with gr.Column():
plot = gr.Plot(get_plots('object_detection.csv'))
with gr.Column():
table = gr.Dataframe(get_model_names('object_detection.csv'))
with gr.TabItem("Sentence Similarity π"):
with gr.Row():
with gr.Column():
plot = gr.Plot(get_plots('sentence_similarity.csv'))
with gr.Column():
table = gr.Dataframe(get_model_names('sentence_similarity.csv'))
with gr.TabItem("Extractive QA β"):
with gr.Row():
with gr.Column():
plot = gr.Plot(get_plots('question_answering.csv'))
with gr.Column():
table = gr.Dataframe(get_model_names('question_answering.csv'))
demo.launch()
|