Spaces:
Running
Running
Update
Browse files- README.md +1 -1
- app.py +32 -19
- requirements.txt +8 -8
README.md
CHANGED
@@ -4,7 +4,7 @@ emoji: 🌖
|
|
4 |
colorFrom: blue
|
5 |
colorTo: pink
|
6 |
sdk: gradio
|
7 |
-
sdk_version: 3.
|
8 |
python_version: 3.10.9
|
9 |
app_file: app.py
|
10 |
pinned: false
|
|
|
4 |
colorFrom: blue
|
5 |
colorTo: pink
|
6 |
sdk: gradio
|
7 |
+
sdk_version: 3.27.0
|
8 |
python_version: 3.10.9
|
9 |
app_file: app.py
|
10 |
pinned: false
|
app.py
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
|
3 |
from __future__ import annotations
|
4 |
|
|
|
5 |
import string
|
6 |
|
7 |
import gradio as gr
|
@@ -9,30 +10,42 @@ import PIL.Image
|
|
9 |
import torch
|
10 |
from transformers import AutoProcessor, Blip2ForConditionalGeneration
|
11 |
|
12 |
-
DESCRIPTION = '# BLIP-2'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
14 |
device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
|
15 |
|
16 |
MODEL_ID_OPT_6_7B = 'Salesforce/blip2-opt-6.7b'
|
17 |
MODEL_ID_FLAN_T5_XXL = 'Salesforce/blip2-flan-t5-xxl'
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
|
|
|
|
|
|
34 |
}
|
35 |
-
|
|
|
36 |
|
37 |
|
38 |
def generate_caption(model_id: str, image: PIL.Image.Image,
|
@@ -281,4 +294,4 @@ with gr.Blocks(css='style.css') as demo:
|
|
281 |
queue=False,
|
282 |
)
|
283 |
|
284 |
-
demo.queue(
|
|
|
2 |
|
3 |
from __future__ import annotations
|
4 |
|
5 |
+
import os
|
6 |
import string
|
7 |
|
8 |
import gradio as gr
|
|
|
10 |
import torch
|
11 |
from transformers import AutoProcessor, Blip2ForConditionalGeneration
|
12 |
|
13 |
+
DESCRIPTION = '# [BLIP-2](https://github.com/salesforce/LAVIS/tree/main/projects/blip2)'
|
14 |
+
|
15 |
+
if (SPACE_ID := os.getenv('SPACE_ID')) is not None:
|
16 |
+
DESCRIPTION += f'\n<p>For faster inference without waiting in queue, you may duplicate the space and upgrade to GPU in settings. <a href="https://huggingface.co/spaces/{SPACE_ID}?duplicate=true"><img style="display: inline; margin-top: 0em; margin-bottom: 0em" src="https://bit.ly/3gLdBN6" alt="Duplicate Space" /></a></p>'
|
17 |
+
|
18 |
+
if torch.cuda.is_available():
|
19 |
+
DESCRIPTION += '\n<p>Running on GPU 🔥</p>'
|
20 |
+
else:
|
21 |
+
DESCRIPTION += '\n<p>Running on CPU 🥶 This demo does not work on CPU.'
|
22 |
|
23 |
device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
|
24 |
|
25 |
MODEL_ID_OPT_6_7B = 'Salesforce/blip2-opt-6.7b'
|
26 |
MODEL_ID_FLAN_T5_XXL = 'Salesforce/blip2-flan-t5-xxl'
|
27 |
+
|
28 |
+
if torch.cuda.is_available():
|
29 |
+
model_dict = {
|
30 |
+
#MODEL_ID_OPT_6_7B: {
|
31 |
+
# 'processor':
|
32 |
+
# AutoProcessor.from_pretrained(MODEL_ID_OPT_6_7B),
|
33 |
+
# 'model':
|
34 |
+
# Blip2ForConditionalGeneration.from_pretrained(MODEL_ID_OPT_6_7B,
|
35 |
+
# device_map='auto',
|
36 |
+
# load_in_8bit=True),
|
37 |
+
#},
|
38 |
+
MODEL_ID_FLAN_T5_XXL: {
|
39 |
+
'processor':
|
40 |
+
AutoProcessor.from_pretrained(MODEL_ID_FLAN_T5_XXL),
|
41 |
+
'model':
|
42 |
+
Blip2ForConditionalGeneration.from_pretrained(MODEL_ID_FLAN_T5_XXL,
|
43 |
+
device_map='auto',
|
44 |
+
load_in_8bit=True),
|
45 |
+
}
|
46 |
}
|
47 |
+
else:
|
48 |
+
model_dict = {}
|
49 |
|
50 |
|
51 |
def generate_caption(model_id: str, image: PIL.Image.Image,
|
|
|
294 |
queue=False,
|
295 |
)
|
296 |
|
297 |
+
demo.queue(api_open=False, max_size=10).launch()
|
requirements.txt
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
-
accelerate==0.
|
2 |
-
bitsandbytes==0.
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
|
|
1 |
+
accelerate==0.18.0
|
2 |
+
bitsandbytes==0.38.1
|
3 |
+
gradio==3.27.0
|
4 |
+
huggingface-hub==0.13.4
|
5 |
+
Pillow==9.5.0
|
6 |
+
torch==2.0.0
|
7 |
+
torchvision==0.15.1
|
8 |
+
transformers==4.28.1
|