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)