ncduy's picture
Upload app.py
32e7a6a
import gradio as gr
from transformers import AutoModelForSequenceClassification, AutoTokenizer, pipeline
class Emotionclass:
def __init__(self, model: str):
self.model = AutoModelForSequenceClassification.from_pretrained(model)
self.tokenizer = AutoTokenizer.from_pretrained(model)
self.pipeline = pipeline(
"text-classification",
model=self.model,
tokenizer=self.tokenizer,
return_all_scores=True,
)
def predict(self, input: str):
output = self.pipeline(input)[0]
result = {
"sad": output[0]["score"],
"joy": output[1]["score"],
"love": output[2]["score"],
"anger": output[3]["score"],
"fear": output[4]["score"],
"surprise": output[5]["score"],
}
return result
if __name__ == "__main__":
model = Emotionclass("ncduy/bert-base-cased-finetuned-emotion")
iface = gr.Interface(
fn=model.predict,
inputs=gr.inputs.Textbox(
lines=3,
placeholder="type here ...",
label="Input",
),
outputs="label",
title="Emotion Classifier",
)
iface.launch()