File size: 1,006 Bytes
5d4f8b9 3ebadee ebed347 3ebadee 65b3680 9d31fe1 ebed347 f3daf50 c2d87e9 92da152 ebed347 9d31fe1 ebed347 9976a30 ebed347 9d31fe1 c964f6f 9d31fe1 58176bc 9d31fe1 35deb15 92da152 | 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 | import gradio as gr
from huggingface_hub import from_pretrained_fastai
# Load model directly from Hugging Face
learn = from_pretrained_fastai("haripriyaram/Text-emotion-Recognizer-Model")
# Prediction function
def predict_emotion(text):
pred_label, _, probs = learn.predict(text)
# Handle nested vocab if needed
vocab = learn.dls.vocab[0] if isinstance(learn.dls.vocab[0], list) else learn.dls.vocab
probs_dict = {label: float(prob) for label, prob in zip(vocab, probs)}
return pred_label #, probs_dict
# Gradio UI
iface = gr.Interface(
fn=predict_emotion,
inputs=gr.Textbox(lines=2, placeholder="Enter a sentence..."),
outputs=[
gr.Label(label="Predicted Emotion")
#,gr.JSON(label="Confidence Scores")
],
title="🎭 Emotion Classifier (ULMFit ML Service Deployment)",
description="Enter a sentence and the model will predict the corresponding emotion.",
allow_flagging="never"
)
if __name__ == "__main__":
iface.launch(share=True) |