slevis's picture
Duplicate from s-l-s/cbir-image-similarity
ac1c6ae
raw
history blame
540 Bytes
from transformers import AutoProcessor, CLIPModel
class CLIPImageEncoder:
def __init__(self, device="cpu"):
self.device = device
self.model = CLIPModel.from_pretrained("openai/clip-vit-large-patch14")
self.processor = AutoProcessor.from_pretrained("openai/clip-vit-base-patch32")
def encode_image(self, image_pil):
input = self.processor(images=image_pil, return_tensors="pt")
image_features = self.model.get_image_features(**input)
return image_features.cpu().detach().numpy()[0]