prueba / app.py
aresca's picture
Create app.py
b9ea15d verified
raw
history blame contribute delete
966 Bytes
from fastapi import FastAPI, UploadFile, File
from transformers import AutoModelForImageClassification, AutoProcessor
from PIL import Image
import torch
app = FastAPI()
# Carga el modelo y el preprocesador desde Hugging Face
model_name = "jazzmacedo/fruits-and-vegetables-detector-36"
model = AutoModelForImageClassification.from_pretrained(model_name)
processor = AutoProcessor.from_pretrained(model_name)
@app.post("/predict")
async def predict(file: UploadFile = File(...)):
# Procesa la imagen recibida
image = Image.open(file.file).convert("RGB")
inputs = processor(images=image, return_tensors="pt")
# Realiza la predicci贸n
with torch.no_grad():
outputs = model(**inputs)
# Obtiene la predicci贸n con mayor probabilidad
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
predicted_class_name = model.config.id2label[predicted_class_idx]
return {"prediction": predicted_class_name}