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() |