Spaces:
Runtime error
Runtime error
File size: 2,205 Bytes
6b85865 f9b88e9 88c2b27 f9b88e9 627b779 66e2e92 f9b88e9 93fe92a f9b88e9 88c2b27 6b85865 88c2b27 3a8762c 88c2b27 93fe92a 903d653 6b85865 88c2b27 ffdb8d3 f9b88e9 903d653 f9b88e9 22725f7 f9b88e9 cee6ea9 627b779 546eedf f9b88e9 22725f7 f9b88e9 66e2e92 f9b88e9 66e2e92 22725f7 f9b88e9 |
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 |
import gradio as gr
import pandas as pd
import os
import fnmatch
import json
class MultiURLData:
def __init__(self):
self.data = self.process_data()
def get_data(self):
return self.data
def process_data(self):
dataframes = []
def find_files(directory, pattern):
for root, dirs, files in os.walk(directory):
for basename in files:
if fnmatch.fnmatch(basename, pattern):
filename = os.path.join(root, basename)
yield filename
for filename in find_files('results', 'results*.json'):
model_name = filename.split('/')[2]
with open(filename) as f:
data = json.load(f)
df = pd.DataFrame(data['results']).T
# Rename 'acc' column to respective file names
df = df.rename(columns={'acc': model_name})
# Remove 'hendrycksTest-' from the index
df.index = df.index.str.replace('hendrycksTest-', '')
# Remove'harness|' from the index
df.index = df.index.str.replace('harness\\|', '')
dataframes.append(df[[model_name]]) # keep only the column of interest
# Merge the dataframes on index
data = pd.concat(dataframes, axis=1)
# Transpose the dataframe to swap rows and columns
data = data.transpose()
data['Model Name'] = data.index
cols = data.columns.tolist()
cols = cols[-1:] + cols[:-1]
data = data[cols]
return data
data_provider = MultiURLData()
block = gr.Blocks()
with block:
gr.Markdown("""Leaderboard""")
with gr.Tabs():
with gr.TabItem("Leaderboard"):
with gr.Row():
data = gr.outputs.Dataframe(type="pandas")
with gr.Row():
data_run = gr.Button("Refresh")
data_run.click(data_provider.get_data, inputs=None, outputs=data)
# running the function on page load in addition to when the button is clicked
block.load(data_provider.get_data, inputs=None, outputs=data)
block.launch()
|