hughtayloe commited on
Commit
1e05993
·
verified ·
1 Parent(s): 58ff319

Update handler.py

Browse files
Files changed (1) hide show
  1. handler.py +8 -9
handler.py CHANGED
@@ -1,29 +1,28 @@
1
- from typing import Dict, List, Any
2
  from PIL import Image
3
  import requests
4
  import torch
 
5
  from transformers import AutoProcessor, LlavaForConditionalGeneration
6
 
7
  class EndpointHandler():
8
  def __init__(self, path=""):
9
  model_id = path
10
  self.model = LlavaForConditionalGeneration.from_pretrained(
11
- model_id,
12
- torch_dtype=torch.float16,
13
- low_cpu_mem_usage=True,
14
  ).to(0)
15
  self.processor = AutoProcessor.from_pretrained(model_id)
16
 
17
  def __call__(self, data: Dict[str, Any]):
18
- parameters = data.pop("inputs",data)
19
- inputs = data.pop("inputs", data)
20
  if parameters is not None:
21
  url = "http://images.cocodataset.org/val2017/000000039769.jpg"
22
  prompt = "USER: <image>\nWhat are these?\nASSISTANT:"
23
  raw_image = Image.open(requests.get(url, stream=True).raw)
24
  inputs = self.processor(prompt, raw_image, return_tensors='pt').to(0, torch.float16)
25
-
26
  output = self.model.generate(**inputs, max_new_tokens=200, do_sample=False)
 
 
27
  return output
28
-
29
-
 
1
+ from typing import Dict, Any
2
  from PIL import Image
3
  import requests
4
  import torch
5
+ import numpy as np
6
  from transformers import AutoProcessor, LlavaForConditionalGeneration
7
 
8
  class EndpointHandler():
9
  def __init__(self, path=""):
10
  model_id = path
11
  self.model = LlavaForConditionalGeneration.from_pretrained(
12
+ model_id,
13
+ torch_dtype=torch.float16,
14
+ low_cpu_mem_usage=True,
15
  ).to(0)
16
  self.processor = AutoProcessor.from_pretrained(model_id)
17
 
18
  def __call__(self, data: Dict[str, Any]):
19
+ parameters = data.pop("inputs", data)
 
20
  if parameters is not None:
21
  url = "http://images.cocodataset.org/val2017/000000039769.jpg"
22
  prompt = "USER: <image>\nWhat are these?\nASSISTANT:"
23
  raw_image = Image.open(requests.get(url, stream=True).raw)
24
  inputs = self.processor(prompt, raw_image, return_tensors='pt').to(0, torch.float16)
 
25
  output = self.model.generate(**inputs, max_new_tokens=200, do_sample=False)
26
+ # Convert Tensor to NumPy array or list before returning
27
+ output = output.cpu().numpy().tolist()
28
  return output