Spaces:
Running
on
A10G
Running
on
A10G
Commit
•
6ab078b
1
Parent(s):
0f5cc5e
Update app.py
Browse files
app.py
CHANGED
@@ -1,5 +1,4 @@
|
|
1 |
#@title Prepare the Concepts Library to be used
|
2 |
-
|
3 |
import requests
|
4 |
import os
|
5 |
import gradio as gr
|
@@ -9,9 +8,10 @@ from torch import autocast
|
|
9 |
from diffusers import StableDiffusionPipeline
|
10 |
from huggingface_hub import HfApi
|
11 |
from transformers import CLIPTextModel, CLIPTokenizer
|
|
|
12 |
|
13 |
api = HfApi()
|
14 |
-
models_list = api.list_models(author="sd-concepts-library")
|
15 |
models = []
|
16 |
|
17 |
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", use_auth_token=True, revision="fp16", torch_dtype=torch.float16).to("cuda")
|
@@ -86,7 +86,53 @@ for model in models_list:
|
|
86 |
#@markdown Click the `Running on public URL:` result to run the Gradio app
|
87 |
|
88 |
SELECT_LABEL = "Select concept"
|
89 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
def title_block(title, id):
|
91 |
return gr.Markdown(f"### [`{title}`](https://huggingface.co/{id})")
|
92 |
|
@@ -211,10 +257,11 @@ with gr.Blocks(css=css) as demo:
|
|
211 |
''')
|
212 |
with gr.Row(elem_id="main_row"):
|
213 |
image_blocks = []
|
214 |
-
for i, model in enumerate(models):
|
215 |
-
|
216 |
-
|
217 |
-
|
|
|
218 |
with gr.Box():
|
219 |
with gr.Row(elem_id="prompt_area").style(mobile_collapse=False, equal_height=True):
|
220 |
text = gr.Textbox(
|
@@ -241,4 +288,4 @@ with gr.Blocks(css=css) as demo:
|
|
241 |
inputs=inputs,
|
242 |
outputs=infer_outputs
|
243 |
)
|
244 |
-
demo.launch(
|
|
|
1 |
#@title Prepare the Concepts Library to be used
|
|
|
2 |
import requests
|
3 |
import os
|
4 |
import gradio as gr
|
|
|
8 |
from diffusers import StableDiffusionPipeline
|
9 |
from huggingface_hub import HfApi
|
10 |
from transformers import CLIPTextModel, CLIPTokenizer
|
11 |
+
import html
|
12 |
|
13 |
api = HfApi()
|
14 |
+
models_list = api.list_models(author="sd-concepts-library", sort="likes", direction=-1)
|
15 |
models = []
|
16 |
|
17 |
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", use_auth_token=True, revision="fp16", torch_dtype=torch.float16).to("cuda")
|
|
|
86 |
#@markdown Click the `Running on public URL:` result to run the Gradio app
|
87 |
|
88 |
SELECT_LABEL = "Select concept"
|
89 |
+
def assembleHTML(model):
|
90 |
+
html_gallery = ''
|
91 |
+
html_gallery = html_gallery+'''
|
92 |
+
<div class="flex gr-gap gr-form-gap row gap-4 w-full flex-wrap" id="main_row">
|
93 |
+
'''
|
94 |
+
for model in models:
|
95 |
+
html_gallery = html_gallery+f'''
|
96 |
+
<div class="gr-block gr-box relative w-full overflow-hidden border-solid border border-gray-200 gr-panel">
|
97 |
+
<div class="output-markdown gr-prose" style="max-width: 100%;">
|
98 |
+
<h3>
|
99 |
+
<a href="https://huggingface.co/{model["id"]}" target="_blank">
|
100 |
+
<code>{html.escape(model["token"])}</code>
|
101 |
+
</a>
|
102 |
+
</h3>
|
103 |
+
</div>
|
104 |
+
<div id="gallery" class="gr-block gr-box relative w-full overflow-hidden border-solid border border-gray-200">
|
105 |
+
<div class="wrap svelte-17ttdjv opacity-0"></div>
|
106 |
+
<div class="absolute left-0 top-0 py-1 px-2 rounded-br-lg shadow-sm text-xs text-gray-500 flex items-center pointer-events-none bg-white z-20 border-b border-r border-gray-100 dark:bg-gray-900">
|
107 |
+
<span class="mr-2 h-[12px] w-[12px] opacity-80">
|
108 |
+
<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather feather-image">
|
109 |
+
<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>
|
110 |
+
<circle cx="8.5" cy="8.5" r="1.5"></circle>
|
111 |
+
<polyline points="21 15 16 10 5 21"></polyline>
|
112 |
+
</svg>
|
113 |
+
</span> {model["concept_type"]}
|
114 |
+
</div>
|
115 |
+
<div class="overflow-y-auto h-full p-2" style="position: relative;">
|
116 |
+
<div class="grid gap-2 grid-cols-2 sm:grid-cols-2 md:grid-cols-2 lg:grid-cols-2 xl:grid-cols-2 2xl:grid-cols-2 svelte-1g9btlg pt-6">
|
117 |
+
'''
|
118 |
+
for image in model["images"]:
|
119 |
+
html_gallery = html_gallery + f'''
|
120 |
+
<button class="gallery-item svelte-1g9btlg">
|
121 |
+
<img alt="" loading="lazy" class="h-full w-full overflow-hidden object-contain" src="file/{image}">
|
122 |
+
</button>
|
123 |
+
'''
|
124 |
+
html_gallery = html_gallery+'''
|
125 |
+
</div>
|
126 |
+
<iframe style="display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;" aria-hidden="true" tabindex="-1" src="about:blank"></iframe>
|
127 |
+
</div>
|
128 |
+
</div>
|
129 |
+
</div>
|
130 |
+
'''
|
131 |
+
html_gallery = html_gallery+'''
|
132 |
+
</div>
|
133 |
+
'''
|
134 |
+
return html_gallery
|
135 |
+
|
136 |
def title_block(title, id):
|
137 |
return gr.Markdown(f"### [`{title}`](https://huggingface.co/{id})")
|
138 |
|
|
|
257 |
''')
|
258 |
with gr.Row(elem_id="main_row"):
|
259 |
image_blocks = []
|
260 |
+
#for i, model in enumerate(models):
|
261 |
+
with gr.Box().style(border=None):
|
262 |
+
gr.HTML(assembleHTML(models))
|
263 |
+
#title_block(model["token"], model["id"])
|
264 |
+
#image_blocks.append(image_block(model["images"], model["concept_type"]))
|
265 |
with gr.Box():
|
266 |
with gr.Row(elem_id="prompt_area").style(mobile_collapse=False, equal_height=True):
|
267 |
text = gr.Textbox(
|
|
|
288 |
inputs=inputs,
|
289 |
outputs=infer_outputs
|
290 |
)
|
291 |
+
demo.launch(max_size=25)
|