Spaces:
Build error
Build error
| import gradio as gr | |
| import numpy as np | |
| from PIL import Image | |
| from transformers import pipeline | |
| # Create the pipeline object | |
| pipe = pipeline("zero-shot-image-classification", model="openai/clip-vit-base-patch32") | |
| # Define the function that will be used by the interface | |
| def zero_shot_classification(image, labels_text): | |
| # Convert image to a PIL image object | |
| pil_image = Image.fromarray(np.uint8(image)).convert("RGB") | |
| # Split the labels text into a list of labels | |
| labels = labels_text.split(",") | |
| # Use the pipeline to classify the image with the given labels | |
| res = pipe( | |
| images=pil_image, | |
| candidate_labels=labels, | |
| hypothesis_template= "This is a photo of a {}" | |
| ) | |
| # Return a dictionary mapping labels to scores | |
| return {dic["label"]: dic["score"] for dic in res} | |
| # Create the interface | |
| iface = gr.Interface( | |
| zero_shot_classification, | |
| ["image", "text"], | |
| "label", | |
| examples=[ | |
| ["dog.jpg", "dog,cat,horse,zebra"], | |
| ], | |
| description="Please add a picture and a list of labels separated by commas to see the zero-shot classification capabilities", | |
| title="Zero-shot Image Classification" | |
| ) | |
| # Launch the interface | |
| iface.launch() |