| | import streamlit as st |
| | from transformers import DistilBertTokenizer, TFDistilBertForSequenceClassification |
| | import tensorflow as tf |
| |
|
| | |
| | model_path = 'shukdevdatta123/Dreaddit_DistillBert_Stress_Model' |
| | loaded_model = TFDistilBertForSequenceClassification.from_pretrained(model_path) |
| | loaded_tokenizer = DistilBertTokenizer.from_pretrained(model_path) |
| |
|
| | |
| | def predict_with_loaded_model(in_sentences): |
| | labels = ["non-stress", "stress"] |
| | inputs = loaded_tokenizer(in_sentences, return_tensors="tf", padding=True, truncation=True, max_length=512) |
| | predictions = loaded_model(inputs) |
| | predicted_labels = tf.argmax(predictions.logits, axis=-1).numpy() |
| | predicted_probs = tf.nn.softmax(predictions.logits, axis=-1).numpy() |
| |
|
| | return [{"text": sentence, "confidence": probs.tolist(), "label": labels[label]} for sentence, label, probs in zip(in_sentences, predicted_labels, predicted_probs)] |
| |
|
| | |
| | st.title("Stress Prediction with DistilBERT") |
| |
|
| | |
| | user_input = st.text_area("Enter a sentence or text:", "") |
| |
|
| | |
| | if st.button("Predict"): |
| | if user_input: |
| | |
| | prediction = predict_with_loaded_model([user_input])[0] |
| | st.write(f"Text: {prediction['text']}") |
| | st.write(f"Prediction: {prediction['label']}") |
| | |
| | else: |
| | st.write("Please enter a sentence to predict.") |