Spaces:
Sleeping
Sleeping
import numpy as np | |
from PIL import Image | |
from araclip import AraClip | |
import gradio as gr | |
model = AraClip.from_pretrained("Arabic-Clip/araclip") | |
def search(labels, image): | |
# process labels | |
labels = labels.split(",") | |
labels = [item.strip() for item in labels if item != ""] | |
# embed data | |
image_features = model.embed(image=image) | |
text_features = np.stack([model.embed(text=label) for label in labels]) | |
# search for most similar data | |
similarities = text_features @ image_features | |
best_match = labels[np.argmax(similarities)] | |
return best_match | |
# data | |
labels = ["قطة جالسة", "قطة تقفز" ,"كلب", "حصان"] | |
image = Image.open("cat.png") | |
demo = gr.Interface(search,["text","image"],["text"],examples=[["حصان, كلب, قطة", "cat.png"]]) | |
demo.launch(debug=True) |