halimb's picture
Update handler.py
884f0af verified
raw
history blame
870 Bytes
from typing import Dict, List, Any
from transformers import pipeline
import transformers
from PIL import Image
import base64
from io import BytesIO
print('TRANSFORMERS VERSION')
print(transformers.__version__)
class EndpointHandler():
def __init__(self, path=""):
# load pipe
self.pipe = pipeline(task="depth-estimation", model=path)
def __call__(self, data: Dict[str, Any]) -> List[Dict[str, Any]]:
base64_image = data.get("image")
if base64_image is None:
raise ValueError("No image provided")
if base64_image.startswith('data:image/jpeg;base64,'):
base64_image = base64_image.replace('data:image/jpeg;base64,', '')
image_bytes = base64.b64decode(base64_image)
image = Image.open(BytesIO(image_bytes))
depth = self.pipe(image)["depth"]
return depth