Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from transformers import AutoModelForSequenceClassification, AutoTokenizer | |
| import torch | |
| # Load the model and tokenizer from Hugging Face | |
| model_name = "poudel/Depression_and_Non-Depression_Classifier" # Replace with your Hugging Face model name | |
| model = AutoModelForSequenceClassification.from_pretrained(model_name) | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| # Define the prediction function | |
| def predict(text): | |
| # Tokenize the input text | |
| inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=128) | |
| # Get model predictions | |
| with torch.no_grad(): | |
| outputs = model(**inputs) | |
| # Convert logits to probabilities | |
| probabilities = torch.softmax(outputs.logits, dim=-1) | |
| # Get the predicted class (0 or 1) | |
| predicted_class = torch.argmax(probabilities, dim=1).item() | |
| # Map the predicted class to the label (0 = Depression, 1 = Non-depression) | |
| label_mapping = {0: "Depression", 1: "Non-depression"} | |
| return label_mapping[predicted_class] | |
| # Create a Gradio interface | |
| interface = gr.Interface( | |
| fn=predict, # The function to be called for predictions | |
| inputs=gr.Textbox(lines=2, placeholder="Enter some text here..."), # Input textbox for the user | |
| outputs="text", # Output is the predicted class as text | |
| title="Sentiment Classification", # Title of the app | |
| description="Enter a sentence to classify it as 'Depression' or 'Non-depression'.", # Short description | |
| ) | |
| # Launch the Gradio app | |
| interface.launch() | |