Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from transformers import pipeline | |
| from PIL import Image | |
| import requests | |
| # Define pipelines | |
| 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") | |
| transpipe = pipeline("translation_en_to_fr") | |
| st.title("NLP APP") | |
| option = st.sidebar.selectbox( | |
| "Choose a task", | |
| ("Summarization", "Age Detection", "Emotion Detection", "Image Classification", "Translation") | |
| ) | |
| 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 an 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.") | |
| elif option == "Translation": | |
| st.title("Text Translation") | |
| text = st.text_area("Enter text to translate from English to French") | |
| if st.button("Translate"): | |
| if text: | |
| translation = transpipe(text)[0]["translation_text"] | |
| st.write("Translation:", translation) | |
| else: | |
| st.write("Please enter text to translate.") | |
| else: | |
| st.title("None") | |