ImagentoText / app.py
Hugomartinezg's picture
Revisando error
40bbe53 verified
import gradio as gr
from transformers import AutoModelForImageClassification, AutoFeatureExtractor
import torch
from PIL import Image
import requests
# Cargar el modelo y el extractor de características
model_name = "microsoft/swin-small-patch4-window7-224"
model = AutoModelForImageClassification.from_pretrained(model_name)
feature_extractor = AutoFeatureExtractor.from_pretrained(model_name)
def predict(image):
# Preprocesar la imagen
inputs = feature_extractor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
# Obtener las predicciones
probs = torch.nn.functional.softmax(logits, dim=-1)
top_probs, top_labels = torch.topk(probs, 3)
top_probs = top_probs.detach().numpy().flatten()
top_labels = top_labels.detach().numpy().flatten()
# Convertir las etiquetas a nombres
id2label = model.config.id2label
labels = [id2label[label] for label in top_labels]
return {labels[i]: float(top_probs[i]) for i in range(len(labels))}
titulo = "Mi primer demo con Hugging Face"
descripcion = "Este es un demo ejecutado durante la clase de Hugo Martinez."
demo = gr.Interface(
fn=predict,
inputs=gr.Image(label="Carga una imagen aquí"),
outputs=gr.Label(num_top_classes=3),
title=titulo,
description=descripcion
)
demo.launch()