Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from transformers import pipeline | |
| from PIL import Image | |
| # Use ResNet-50 model (1000 common ImageNet categories like dog, cat, car, etc.) | |
| classifier = pipeline("image-classification", model="microsoft/resnet-50") | |
| def classify_image(img, top_k=3): | |
| """ | |
| Takes an uploaded image, runs classification, | |
| and returns the top_k labels with confidence scores. | |
| """ | |
| if img is None: | |
| return {"Error": 1.0} | |
| results = classifier(img, top_k=top_k) | |
| return {r["label"]: float(r["score"]) for r in results} | |
| # Gradio interface | |
| demo = gr.Interface( | |
| fn=classify_image, | |
| inputs=[ | |
| gr.Image(type="pil", label="Upload Image"), | |
| gr.Slider(1, 5, value=3, step=1, label="Top K Predictions") | |
| ], | |
| outputs=gr.Label(num_top_classes=5, label="Predictions"), | |
| title="Image Classification App", | |
| description="Upload an image and the model will predict the top objects in it." | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() | |