Spaces:
Sleeping
Sleeping
import sys | |
from pathlib import Path | |
import evaluate | |
import gradio as gr | |
import polars as pl | |
from evaluate import parse_readme | |
metric = evaluate.load("Aye10032/top5_error_rate") | |
def compute(data): | |
result = { | |
"predictions": [list(map(float, pred.split(","))) for pred in data["predictions"]], | |
"references": data["references"].cast(pl.Int64).to_list() | |
} | |
return metric.compute(**result) | |
local_path = Path(sys.path[0]) | |
default_value = pl.DataFrame({ | |
'predictions': ['0.82,0.95,0.6,0.14,0.15,0.70', '0.67,0.31,0.01,0.60,0.44,0.51', '0.57,0.06,0.69,0.07,0.96,0.72'], | |
'references': ['1', '3', '1'] | |
}) | |
iface = gr.Interface( | |
fn=compute, | |
inputs=gr.Dataframe( | |
headers=['predictions', 'references'], | |
col_count=2, | |
row_count=1, | |
datatype='str', | |
type='polars', | |
value=default_value | |
), | |
outputs=gr.Textbox(label=metric.name), | |
description=( | |
metric.info.description | |
+ "\nIf this is a text-based metric, make sure to wrap you input in double quotes." | |
" Alternatively you can use a JSON-formatted list as input." | |
), | |
title=f"Metric: {metric.name}", | |
article=parse_readme(local_path / "README.md"), | |
) | |
iface.launch() | |