Spaces:
Sleeping
Sleeping
File size: 969 Bytes
9f68e7c ed54141 9f68e7c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
import os
from io import BytesIO
import numpy as np
import torch
from PIL import Image
from img2art_search.data.dataset import ImageRetrievalDataset
from img2art_search.data.transforms import transform
from img2art_search.models.compute_embeddings import search_image
def predict(img: Image.Image) -> list:
DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
if img:
img = img.convert("RGB")
pred_image_data = transform(img).unsqueeze(0).to(DEVICE)
indices, distances = search_image(pred_image_data)
results = []
for index, distance in zip(indices, distances):
buffered = BytesIO(index)
image = Image.open(buffered)
decoded_image_array = np.array(image)
results.append(
(
Image.fromarray(decoded_image_array),
str(distance),
)
)
return results
else:
return []
|