Pavani2704's picture
Update app.py
759ea45 verified
raw
history blame
3.05 kB
import streamlit as st
import transformers
from transformers import pipeline
import PIL
from PIL import Image
import requests
from transformers import AutoProcessor, AutoModelForZeroShotImageClassification
pipe = pipeline("summarization", model="google/pegasus-xsum")
agepipe = pipeline("image-classification", model="dima806/facial_age_image_detection")
imgpipe = pipeline("zero-shot-image-classification", model="openai/clip-vit-base-patch32")
emopipe = pipeline("text-classification", model="michellejieli/emotion_text_classifier")
st.title("NLP APP")
option = st.sidebar.selectbox(
"Choose a task",
("Summarization", "Age Detection", "Emotion Detection", "Image Classification")
)
if option == "Summarization":
st.title("Text Summarization")
text = st.text_area("Enter text to summarize")
if st.button("Summarize"):
if text:
st.write("Summary:", pipe(text)[0]["summary_text"])
else:
st.write("Please enter text to summarize.")
elif option == "Age Detection":
st.title("Welcome to age detection")
uploaded_files = st.file_uploader("Choose a image file",type="jpg")
if uploaded_files is not None:
Image=Image.open(uploaded_files)
st.write("Detected age is ",agepipe(Image)[0]["label"])
elif option == "Image Classification":
st.title("Welcome to object detection")
uploaded_file = st.file_uploader("Choose an image file", type=["jpg", "jpeg", "png"])
text = st.text_area("Enter possible class names (comma-separated)")
if st.button("Submit"):
if uploaded_file is not None and text:
candidate_labels = [t.strip() for t in text.split(',')]
image = Image.open(uploaded_file)
st.image(image, caption="Uploaded Image", use_column_width=True)
classification_result = imgpipe(image, candidate_labels=candidate_labels)
for result in classification_result:
st.write(f"Label: {result['label']}, Score: {result['score']}")
else:
st.write("Please upload an image file and enter class names.")
elif option == "Emotion Detection":
st.title("Detect your emotion")
text=st.text_area("Enter your text")
if st.button("Submit"):
if text:
emotion=emopipe(text)[0]["label"]
if emotion == "sadness":
st.write("Emotion : ",emotion,"😒")
elif emotion == "joy":
st.write("Emotion : ",emotion,"πŸ˜ƒ")
elif emotion == "fear":
st.write("Emotion : ",emotion,"😨")
elif emotion == "anger":
st.write("Emotion : ",emotion,"😑")
elif emotion == "neutral":
st.write("Emotion : ",emotion,"😐")
elif emotion == "disgust":
st.write("Emotion : ",emotion,"🀒")
elif emotion == "surprise":
st.write("Emotion : ",emotion,"😲")
else:
st.write("Please enter text.")
else:
st.title("None")