yolotesting / handler.py
skumar1998's picture
Create handler.py
f851167
raw
history blame
889 Bytes
from typing import Dict
from ultralytics import YOLO
import requests
from io import BytesIO
from PIL import Image
import time
class EndpointHandler():
def __init__(self, path=""):
# load the model
print('Loading the yolo model')
model_path = "yolov8m_detect_usdl.pt"
self.model = YOLO(model_path)
print('Yolo model loaded successfully')
def __call__(self, data: Dict) -> Dict:
image_url = data.get('image_url')
print(f'Image url is : {image_url}')
response = requests.get(image_url)
pil_image = Image.open(BytesIO(response.content))
print('Model inference started....')
t1 = time.time()
results = self.model(pil_image)
print(f'TIME Model inference: {time.time() - t1}')
# postprocess the prediction
return {"bbox": results[0].boxes.data.tolist()}