Spaces:
Sleeping
Sleeping
File size: 818 Bytes
61bc9be bce21ce 61bc9be 506a05e 61bc9be 506a05e bce21ce 506a05e bce21ce 506a05e bce21ce 506a05e 61bc9be bce21ce 61bc9be 506a05e |
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 |
import gradio as gr
from transformers import AutoImageProcessor, AutoModel
import torch
from PIL import Image
import base64
import io
# Modelo
processor = AutoImageProcessor.from_pretrained("facebook/dinov2-base")
model = AutoModel.from_pretrained("facebook/dinov2-base")
# Recibe string base64
def get_embedding(base64_str):
# Separar encabezado
header, encoded = base64_str.split(",", 1)
# Decodificar
image_bytes = base64.b64decode(encoded)
image = Image.open(io.BytesIO(image_bytes)).convert("RGB")
# Procesar
inputs = processor(images=image, return_tensors="pt")
with torch.no_grad():
embeddings = model(**inputs).last_hidden_state[:, 0]
return embeddings.squeeze().tolist()
# Gradio Interface
gr.Interface(fn=get_embedding, inputs="text", outputs="json").launch()
|