Spaces:
Running
Running
File size: 744 Bytes
caff61e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
from fastapi import FastAPI, UploadFile, File
from transformers import YolosForObjectDetection, YolosImageProcessor
from PIL import Image
import torch
import io
app = FastAPI()
# Load the YOLOv5 model and processor from Hugging Face
model = YolosForObjectDetection.from_pretrained('ultralytics/yolov5')
processor = YolosImageProcessor.from_pretrained('ultralytics/yolov5')
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model.to(device)
model.eval()
@app.post("/predict/")
async def predict(file: UploadFile = File(...)):
contents = await file.read()
image = Image.open(io.BytesIO(contents))
inputs = processor(images=image, return_tensors="pt").to(device)
outputs = model(**inputs)
return outputs
|