rviana's picture
Add Model.
eed2c8b
raw
history blame
1.31 kB
import gradio as gr
import streamlit as st
import socket
try:
from transformers import pipeline
except ImportError as e:
st.error(f"ImportError: {e}")
st.stop()
except Exception as e:
st.error(f"Unexpected error: {e}")
st.stop()
# Specify the model name explicitly to avoid warnings
model_name = "distilbert-base-uncased-finetuned-sst-2-english"
try:
classifier = pipeline('sentiment-analysis', model=model_name)
except Exception as e:
st.error(f"Error loading pipeline: {e}")
st.stop()
# Function to classify sentiment
def classify_text(text):
try:
result = classifier(text)[0]
return f"{result['label']} with score {result['score']}"
except Exception as e:
return f"Error classifying text: {e}"
# Function to find an available port
def find_free_port():
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind(('', 0))
return s.getsockname()[1]
# Find an available port
port = find_free_port()
# Launch the Gradio interface on the dynamically found port
iface = gr.Interface(fn=classify_text, inputs="text", outputs="text")
iface.launch(server_port=port)
# Streamlit code
st.title('IMDb Sentiment Analysis')
st.write('This project performs sentiment analysis on IMDb movie reviews using Streamlit.')