Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from transformers import pipeline | |
| from PIL import Image | |
| import requests | |
| from io import BytesIO | |
| # Load the image classification pipeline | |
| clf_pipeline = pipeline("image-classification", model="microsoft/resnet-50") | |
| # Streamlit app | |
| st.title("Image Classification with ResNet-50") | |
| # Option to choose between file upload or URL input | |
| option = st.radio("Choose image source:", ("Upload Image", "Image URL")) | |
| image = None | |
| if option == "Upload Image": | |
| uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"]) | |
| if uploaded_file is not None: | |
| image = Image.open(uploaded_file) | |
| st.image(image, caption='Uploaded Image.', use_column_width=True) | |
| elif option == "Image URL": | |
| img_url = st.text_input("Enter image URL:") | |
| if img_url: | |
| try: | |
| response = requests.get(img_url) | |
| image = Image.open(BytesIO(response.content)) | |
| st.image(image, caption='Image from URL.', use_column_width=True) | |
| except Exception as e: | |
| st.error("Error loading image. Please check the URL.") | |
| if image is not None: | |
| # Perform image classification | |
| st.write("Classifying the image...") | |
| results = clf_pipeline(image) | |
| # Display the classification results | |
| st.write("Results:") | |
| for result in results: | |
| st.write(f"Label: {result['label']}, Confidence: {result['score']:.4f}") | |