ropaembeddings / app.py
yonadab's picture
Update app.py
5c36b58 verified
raw
history blame contribute delete
825 Bytes
import gradio as gr
from transformers import AutoImageProcessor, AutoModel
import torch
from PIL import Image
import numpy as np
# Cargar el modelo solo una vez
processor = AutoImageProcessor.from_pretrained("facebook/dinov2-base")
model = AutoModel.from_pretrained("facebook/dinov2-base")
model.eval()
def get_embedding(image_np):
image = Image.fromarray(image_np).convert("RGB")
inputs = processor(images=image, return_tensors="pt")
with torch.no_grad():
embeddings = model(**inputs).last_hidden_state[:, 0] # CLS token
return embeddings.squeeze().tolist()
iface = gr.Interface(
fn=get_embedding,
inputs=gr.Image(type="numpy"), # CAMBIO CLAVE AQUÍ
outputs="json",
description="Microservicio para extraer embeddings de imágenes usando DINOv2."
)
iface.queue()
iface.launch()