Spaces:
Runtime error
Runtime error
import gradio as gr | |
from transformers import AutoModelForSequenceClassification, AutoTokenizer, pipeline | |
class EmotionClassifier: | |
def __init__(self): # since we have defined the models below, this class will call itself. | |
self.model = AutoModelForSequenceClassification.from_pretrained("barbieheimer/MND_TweetEvalBert_model") # specify the model from repo. | |
self.tokenizer = AutoTokenizer.from_pretrained("barbieheimer/MND_TweetEvalBert_model") #need to spicify the tokeniser from repo too | |
self.pipeline = pipeline( | |
"text-classification", # specify pipeline task here. | |
model=self.model, | |
tokenizer=self.tokenizer, | |
return_all_scores=True, # so that all emotional scores are displayed. | |
) | |
# creating a prediction definition. | |
def predict(self, input_text: str): # defining what the output will look like. | |
pred = self.pipeline(input_text)[0] # processing text input. | |
result = { | |
"Anger π ": pred[0]["score"], | |
"Joy π": pred[1]["score"], | |
"Surprise π²": pred[2]["score"], | |
"Sadness π": pred[3]["score"], | |
} | |
return result | |
def main(): | |
# call the emotionclassifier class to use our model, and now we can use the gradio UI. | |
model = EmotionClassifier() | |
iface = gr.Interface( | |
fn=model.predict, # using the model to predict | |
inputs=gr.inputs.Textbox( | |
lines=3, | |
placeholder="Type a phrase that has some emotion", | |
label="Input Text", | |
), | |
outputs="label", | |
title="Emotion Classification", | |
examples=[ | |
["The movie was a bummer."], | |
["I cannot wait to watch all these movies!"], | |
["The ending of the movie really irks me, gives me the ick fr."], | |
["The protagonist seems to have a lot of hope...."] | |
], | |
) | |
iface.launch() | |
if __name__ == "__main__": | |
main() | |