wer-trial / app.py
dalmeow's picture
readme updated
faba537
raw
history blame
No virus
1.37 kB
import gradio as gr
import pandas as pd
from jiwer import wer
import re
import os
REGEX_YAML_BLOCK = re.compile(r"---[\n\r]+([\S\s]*?)[\n\r]+---[\n\r]")
def parse_readme(filepath):
"""Parses a repositories README and removes"""
if not os.path.exists(filepath):
return "No README.md found."
with open(filepath, "r") as f:
text = f.read()
match = REGEX_YAML_BLOCK.search(text)
if match:
text = text[match.end() :]
return text
def compute(input):
preds = input['prediction'].tolist()
truths = input['truth'].tolist()
print(truths, preds, type(truths))
err = wer(truths, preds)
print(err)
return err
description = """
To calculate WER:
* Type the `prediction` and the `truth` in the respective columns in the below calculator.
* You can insert multiple predictions and truths by clicking on the `New row` button.
* To calculate the WER after inserting all the texts, click on `Submit`.
"""
demo = gr.Interface(
fn=compute,
inputs=gr.components.Dataframe(
headers=["prediction", "truth"],
col_count=2,
row_count=1,
label="Input"
),
outputs=gr.components.Textbox(label="WER"),
description=description,
title="WER Calculator",
article=parse_readme("README.md")
)
demo.launch()