Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
Update app.py
Browse files
app.py
CHANGED
@@ -1,10 +1,13 @@
|
|
1 |
import gradio as gr
|
2 |
from datasets import load_dataset
|
3 |
|
|
|
4 |
import re
|
5 |
import os
|
6 |
import requests
|
|
|
7 |
|
|
|
8 |
from share_btn import community_icon_html, loading_icon_html, share_js
|
9 |
|
10 |
# TODO
|
@@ -12,7 +15,7 @@ from share_btn import community_icon_html, loading_icon_html, share_js
|
|
12 |
#word_list = word_list_dataset["train"]['text']
|
13 |
word_list = []
|
14 |
|
15 |
-
def infer(prompt, negative="low_quality", scale=7):
|
16 |
for filter in word_list:
|
17 |
if re.search(rf"\b{filter}\b", prompt):
|
18 |
raise gr.Error("Unsafe content found. Please try again with different prompts.")
|
@@ -24,6 +27,20 @@ def infer(prompt, negative="low_quality", scale=7):
|
|
24 |
for image in images_request.json()["images"]:
|
25 |
image_b64 = (f"data:image/jpeg;base64,{image}")
|
26 |
images.append(image_b64)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
return images, gr.update(visible=True)
|
29 |
|
@@ -150,7 +167,7 @@ css = """
|
|
150 |
.image_duplication{position: absolute; width: 100px; left: 50px}
|
151 |
"""
|
152 |
|
153 |
-
block = gr.Blocks(
|
154 |
|
155 |
examples = [
|
156 |
[
|
@@ -299,7 +316,12 @@ Despite how impressive being able to turn text into image is, beware that this m
|
|
299 |
</div>
|
300 |
"""
|
301 |
)
|
302 |
-
|
303 |
|
304 |
-
|
305 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
import gradio as gr
|
2 |
from datasets import load_dataset
|
3 |
|
4 |
+
import base64
|
5 |
import re
|
6 |
import os
|
7 |
import requests
|
8 |
+
from io import BytesIO
|
9 |
|
10 |
+
import user_history
|
11 |
from share_btn import community_icon_html, loading_icon_html, share_js
|
12 |
|
13 |
# TODO
|
|
|
15 |
#word_list = word_list_dataset["train"]['text']
|
16 |
word_list = []
|
17 |
|
18 |
+
def infer(prompt, negative="low_quality", scale=7, profile: gr.OAuthProfile | None):
|
19 |
for filter in word_list:
|
20 |
if re.search(rf"\b{filter}\b", prompt):
|
21 |
raise gr.Error("Unsafe content found. Please try again with different prompts.")
|
|
|
27 |
for image in images_request.json()["images"]:
|
28 |
image_b64 = (f"data:image/jpeg;base64,{image}")
|
29 |
images.append(image_b64)
|
30 |
+
|
31 |
+
if profile is not None: # avoid conversion on non-logged-in users
|
32 |
+
for image in images:
|
33 |
+
pil_image = Image.open(BytesIO(base64.b64decode(image)))
|
34 |
+
user_history.save_image( # save images + metadata to user history
|
35 |
+
label=prompt,
|
36 |
+
image=pil_image,
|
37 |
+
profile=profile,
|
38 |
+
metadata={
|
39 |
+
"prompt": prompt,
|
40 |
+
"negative_prompt": negative,
|
41 |
+
"guidance_scale": scale,
|
42 |
+
},
|
43 |
+
)
|
44 |
|
45 |
return images, gr.update(visible=True)
|
46 |
|
|
|
167 |
.image_duplication{position: absolute; width: 100px; left: 50px}
|
168 |
"""
|
169 |
|
170 |
+
block = gr.Blocks()
|
171 |
|
172 |
examples = [
|
173 |
[
|
|
|
316 |
</div>
|
317 |
"""
|
318 |
)
|
|
|
319 |
|
320 |
+
with gr.Blocks(css=css) as block_with_history:
|
321 |
+
with gr.Tab("Demo"):
|
322 |
+
block.render()
|
323 |
+
with gr.Tab("Past generations"):
|
324 |
+
user_history.render()
|
325 |
+
|
326 |
+
block_with_history.queue(concurrency_count=4, max_size=10).launch()
|
327 |
+
#block_with_history.launch(server_name="0.0.0.0")
|