Spaces:
Runtime error
Runtime error
Example caching and space duplication
Browse files
app.py
CHANGED
@@ -5,6 +5,12 @@ from diffusers import LMSDiscreteScheduler
|
|
5 |
from mixdiff import StableDiffusionCanvasPipeline, Text2ImageRegion
|
6 |
|
7 |
article = """
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
## Motivation
|
9 |
|
10 |
Current image generation methods, such as Stable Diffusion, struggle to position objects at specific locations. While the content of the generated image (somewhat) reflects the objects present in the prompt, it is difficult to frame the prompt in a way that creates an specific composition. For instance, take a prompt expressing a complex composition such as
|
@@ -30,12 +36,6 @@ The method proposed here strives to provide a better tool for image composition
|
|
30 |
|
31 |
Using several diffusion processes in parallel has also practical advantages when generating very large images, as the GPU memory requirements are similar to that of generating an image of the size of a single tile.
|
32 |
|
33 |
-
## Usage
|
34 |
-
|
35 |
-
In this demo you can use Mixture of Diffusers to configure a canvas made up of 3 diffusion regions. Play around with the prompts and guidance values in each region! You can also change increment the overlap between regions if seams appear in the image.
|
36 |
-
|
37 |
-
In the full version of Mixture of Diffusers you will find further freedom to configure the regions in the canvas. Check the [github repo](https://github.com/albarji/mixture-of-diffusers)!
|
38 |
-
|
39 |
## Responsible use
|
40 |
|
41 |
The same recommendations as in Stable Diffusion apply, so please check the corresponding [model card](https://huggingface.co/CompVis/stable-diffusion-v1-4).
|
@@ -44,7 +44,7 @@ More broadly speaking, always bear this in mind: YOU are responsible for the con
|
|
44 |
|
45 |
## Gallery
|
46 |
|
47 |
-
Here are some relevant illustrations
|
48 |
|
49 |
### Darkness Dawning
|
50 |
|
@@ -94,19 +94,46 @@ def generate(prompt1, prompt2, prompt3, gc1, gc2, gc3, overlap, steps, seed):
|
|
94 |
)["sample"][0]
|
95 |
|
96 |
with gr.Blocks(title="Mixture of Diffusers") as demo:
|
97 |
-
gr.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
with gr.Row():
|
99 |
with gr.Column(scale=1):
|
100 |
gr.Markdown("### Left region")
|
101 |
-
left_prompt = gr.Textbox(lines=2, label="Prompt")
|
102 |
left_gs = gr.Slider(minimum=0, maximum=15, value=8, step=1, label="Guidance scale")
|
103 |
with gr.Column(scale=1):
|
104 |
gr.Markdown("### Center region")
|
105 |
-
center_prompt = gr.Textbox(lines=2, label="Prompt")
|
106 |
center_gs = gr.Slider(minimum=0, maximum=15, value=8, step=1, label="Guidance scale")
|
107 |
with gr.Column(scale=1):
|
108 |
gr.Markdown("### Right region")
|
109 |
-
right_prompt = gr.Textbox(lines=2, label="Prompt")
|
110 |
right_gs = gr.Slider(minimum=0, maximum=15, value=8, step=1, label="Guidance scale")
|
111 |
gr.Markdown("### General parameters")
|
112 |
with gr.Row():
|
@@ -132,11 +159,29 @@ with gr.Blocks(title="Mixture of Diffusers") as demo:
|
|
132 |
50,
|
133 |
7178915308
|
134 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
],
|
136 |
inputs=[left_prompt, center_prompt, right_prompt, left_gs, center_gs, right_gs, overlap, steps, seed],
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
)
|
141 |
|
142 |
button.click(
|
|
|
5 |
from mixdiff import StableDiffusionCanvasPipeline, Text2ImageRegion
|
6 |
|
7 |
article = """
|
8 |
+
## Usage
|
9 |
+
|
10 |
+
In this demo you can use Mixture of Diffusers to configure a canvas made up of 3 diffusion regions. Play around with the prompts and guidance values in each region! You can also change increment the overlap between regions if seams appear in the image.
|
11 |
+
|
12 |
+
In the full version of Mixture of Diffusers you will find further freedom to configure the regions in the canvas. Check the [github repo](https://github.com/albarji/mixture-of-diffusers)!
|
13 |
+
|
14 |
## Motivation
|
15 |
|
16 |
Current image generation methods, such as Stable Diffusion, struggle to position objects at specific locations. While the content of the generated image (somewhat) reflects the objects present in the prompt, it is difficult to frame the prompt in a way that creates an specific composition. For instance, take a prompt expressing a complex composition such as
|
|
|
36 |
|
37 |
Using several diffusion processes in parallel has also practical advantages when generating very large images, as the GPU memory requirements are similar to that of generating an image of the size of a single tile.
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
## Responsible use
|
40 |
|
41 |
The same recommendations as in Stable Diffusion apply, so please check the corresponding [model card](https://huggingface.co/CompVis/stable-diffusion-v1-4).
|
|
|
44 |
|
45 |
## Gallery
|
46 |
|
47 |
+
Here are some relevant illustrations created using this software (and putting quite a few hours into them!).
|
48 |
|
49 |
### Darkness Dawning
|
50 |
|
|
|
94 |
)["sample"][0]
|
95 |
|
96 |
with gr.Blocks(title="Mixture of Diffusers") as demo:
|
97 |
+
gr.HTML(
|
98 |
+
"""
|
99 |
+
<div style="text-align: center; max-width: 700px; margin: 0 auto;">
|
100 |
+
<div
|
101 |
+
style="
|
102 |
+
display: inline-flex;
|
103 |
+
align-items: center;
|
104 |
+
gap: 0.8rem;
|
105 |
+
font-size: 1.75rem;
|
106 |
+
"
|
107 |
+
>
|
108 |
+
<h1 style="font-weight: 1000; margin-bottom: 7px; line-height: normal;">
|
109 |
+
Mixture of Diffusers
|
110 |
+
</h1>
|
111 |
+
</div>
|
112 |
+
<p style="margin-bottom: 10px; font-size: 94%">
|
113 |
+
<a href="https://arxiv.org/abs/2302.02412">[Paper]</a> <a href="https://github.com/albarji/mixture-of-diffusers">[Code in Github]</a> <a href="https://huggingface.co/spaces/albarji/mixture-of-diffusers?duplicate=true">
|
114 |
+
</p>
|
115 |
+
</div>
|
116 |
+
"""
|
117 |
+
)
|
118 |
+
gr.HTML("""
|
119 |
+
<p>For faster inference without waiting in queue, you may duplicate the space and upgrade to GPU in settings.
|
120 |
+
<br/>
|
121 |
+
<a href="https://huggingface.co/spaces/albarji/mixture-of-diffusers?duplicate=true">
|
122 |
+
<img style="margin-top: 0em; margin-bottom: 0em" src="https://bit.ly/3gLdBN6" alt="Duplicate Space"></a>
|
123 |
+
<p/>
|
124 |
+
""")
|
125 |
with gr.Row():
|
126 |
with gr.Column(scale=1):
|
127 |
gr.Markdown("### Left region")
|
128 |
+
left_prompt = gr.Textbox(lines=2, label="Prompt (what do you want to see in the left side of the image?)")
|
129 |
left_gs = gr.Slider(minimum=0, maximum=15, value=8, step=1, label="Guidance scale")
|
130 |
with gr.Column(scale=1):
|
131 |
gr.Markdown("### Center region")
|
132 |
+
center_prompt = gr.Textbox(lines=2, label="Prompt (what do you want to see in the center of the image?)")
|
133 |
center_gs = gr.Slider(minimum=0, maximum=15, value=8, step=1, label="Guidance scale")
|
134 |
with gr.Column(scale=1):
|
135 |
gr.Markdown("### Right region")
|
136 |
+
right_prompt = gr.Textbox(lines=2, label="Prompt (what do you want to see in the right side of the image?)")
|
137 |
right_gs = gr.Slider(minimum=0, maximum=15, value=8, step=1, label="Guidance scale")
|
138 |
gr.Markdown("### General parameters")
|
139 |
with gr.Row():
|
|
|
159 |
50,
|
160 |
7178915308
|
161 |
],
|
162 |
+
[
|
163 |
+
"Abstract decorative illustration, by joan miro and gustav klimt and marlina vera and loish, elegant, intricate, highly detailed, smooth, sharp focus, vibrant colors, artstation, stunning masterpiece",
|
164 |
+
"Abstract decorative illustration, by joan miro and gustav klimt and marlina vera and loish, elegant, intricate, highly detailed, smooth, sharp focus, vibrant colors, artstation, stunning masterpiece",
|
165 |
+
"Abstract decorative illustration, by joan miro and gustav klimt and marlina vera and loish, elegant, intricate, highly detailed, smooth, sharp focus, vibrant colors, artstation, stunning masterpiece",
|
166 |
+
8, 8, 8,
|
167 |
+
256,
|
168 |
+
35,
|
169 |
+
21156517
|
170 |
+
],
|
171 |
+
[
|
172 |
+
"Magical diagrams and runes written with chalk on a blackboard, elegant, intricate, highly detailed, smooth, sharp focus, artstation, stunning masterpiece",
|
173 |
+
"Magical diagrams and runes written with chalk on a blackboard, elegant, intricate, highly detailed, smooth, sharp focus, artstation, stunning masterpiece",
|
174 |
+
"Magical diagrams and runes written with chalk on a blackboard, elegant, intricate, highly detailed, smooth, sharp focus, artstation, stunning masterpiece",
|
175 |
+
12, 12, 12,
|
176 |
+
256,
|
177 |
+
35,
|
178 |
+
12591765619
|
179 |
+
]
|
180 |
],
|
181 |
inputs=[left_prompt, center_prompt, right_prompt, left_gs, center_gs, right_gs, overlap, steps, seed],
|
182 |
+
outputs=output,
|
183 |
+
fn=generate,
|
184 |
+
cache_examples=True
|
185 |
)
|
186 |
|
187 |
button.click(
|