added use of ZERO so it runs on GPU
Browse files
app.py
CHANGED
|
@@ -1,16 +1,20 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
from PIL import Image
|
|
|
|
| 3 |
import torch
|
| 4 |
from transformers import BlipProcessor, BlipForConditionalGeneration
|
| 5 |
|
| 6 |
-
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
|
| 7 |
|
|
|
|
| 8 |
processor = BlipProcessor.from_pretrained("noamrot/FuseCap_Image_Captioning")
|
| 9 |
model = BlipForConditionalGeneration.from_pretrained("noamrot/FuseCap_Image_Captioning").to(device)
|
| 10 |
|
|
|
|
| 11 |
def inference(raw_image):
|
|
|
|
|
|
|
| 12 |
text = "a picture of "
|
| 13 |
-
inputs = processor(raw_image, text, return_tensors="pt").to(
|
| 14 |
out = model.generate(**inputs)
|
| 15 |
caption = processor.decode(out[0], skip_special_tokens=True)
|
| 16 |
return caption
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
from PIL import Image
|
| 3 |
+
import spaces
|
| 4 |
import torch
|
| 5 |
from transformers import BlipProcessor, BlipForConditionalGeneration
|
| 6 |
|
|
|
|
| 7 |
|
| 8 |
+
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
|
| 9 |
processor = BlipProcessor.from_pretrained("noamrot/FuseCap_Image_Captioning")
|
| 10 |
model = BlipForConditionalGeneration.from_pretrained("noamrot/FuseCap_Image_Captioning").to(device)
|
| 11 |
|
| 12 |
+
@spaces.GPU(duration=15)
|
| 13 |
def inference(raw_image):
|
| 14 |
+
cur_device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
|
| 15 |
+
model = model.to(device)
|
| 16 |
text = "a picture of "
|
| 17 |
+
inputs = processor(raw_image, text, return_tensors="pt").to(cur_device)
|
| 18 |
out = model.generate(**inputs)
|
| 19 |
caption = processor.decode(out[0], skip_special_tokens=True)
|
| 20 |
return caption
|