Spaces:
Running
Running
Fix cuda
Browse files
README.md
CHANGED
@@ -9,7 +9,7 @@ pinned: false
|
|
9 |
license: openrail
|
10 |
hf_oauth: true
|
11 |
disable_embedding: true
|
12 |
-
short_description: Generate
|
13 |
---
|
14 |
|
15 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
9 |
license: openrail
|
10 |
hf_oauth: true
|
11 |
disable_embedding: true
|
12 |
+
short_description: Generate high quality illusion artwork from a pattern and a prompt
|
13 |
---
|
14 |
|
15 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
app.py
CHANGED
@@ -35,10 +35,15 @@ controlnet = ControlNetModel.from_pretrained("monster-labs/control_v1p_sd15_qrco
|
|
35 |
SAFETY_CHECKER_ENABLED = os.environ.get("SAFETY_CHECKER", "0") == "1"
|
36 |
safety_checker = None
|
37 |
feature_extractor = None
|
|
|
|
|
|
|
|
|
38 |
if SAFETY_CHECKER_ENABLED:
|
39 |
-
safety_checker = StableDiffusionSafetyChecker.from_pretrained("CompVis/stable-diffusion-safety-checker").to(
|
40 |
feature_extractor = CLIPImageProcessor.from_pretrained("openai/clip-vit-base-patch32")
|
41 |
|
|
|
42 |
main_pipe = StableDiffusionControlNetPipeline.from_pretrained(
|
43 |
BASE_MODEL,
|
44 |
controlnet=controlnet,
|
@@ -46,7 +51,7 @@ main_pipe = StableDiffusionControlNetPipeline.from_pretrained(
|
|
46 |
safety_checker=safety_checker,
|
47 |
feature_extractor=feature_extractor,
|
48 |
torch_dtype=torch.float16,
|
49 |
-
).to(
|
50 |
|
51 |
# Function to check NSFW images
|
52 |
#def check_nsfw_images(images: list[Image.Image]) -> tuple[list[Image.Image], list[bool]]:
|
@@ -164,7 +169,7 @@ def inference(
|
|
164 |
|
165 |
main_pipe.scheduler = SAMPLER_MAP[sampler](main_pipe.scheduler.config)
|
166 |
my_seed = random.randint(0, 2**32 - 1) if seed == -1 else seed
|
167 |
-
generator = torch.Generator(device=
|
168 |
|
169 |
out = main_pipe(
|
170 |
prompt=prompt,
|
@@ -221,11 +226,15 @@ with gr.Blocks() as app:
|
|
221 |
gr.Markdown(
|
222 |
'''
|
223 |
<div style="text-align: center;">
|
224 |
-
<h1>
|
225 |
<p style="font-size:16px;">Generate stunning high quality illusion artwork with Stable Diffusion</p>
|
226 |
<p>Illusion Diffusion is back up with a safety checker! Because I have been asked, if you would like to support me, consider using <a href="https://deforum.studio">deforum.studio</a></p>
|
227 |
-
<p>
|
228 |
-
<
|
|
|
|
|
|
|
|
|
229 |
</div>
|
230 |
'''
|
231 |
)
|
@@ -235,7 +244,7 @@ with gr.Blocks() as app:
|
|
235 |
state_img_output = gr.State()
|
236 |
with gr.Row():
|
237 |
with gr.Column():
|
238 |
-
control_image = gr.Image(label="Input
|
239 |
controlnet_conditioning_scale = gr.Slider(minimum=0.0, maximum=5.0, step=0.01, value=0.8, label="Illusion strength", elem_id="illusion_strength", info="ControlNet conditioning scale")
|
240 |
gr.Examples(examples=["checkers.png", "checkers_mid.jpg", "pattern.png", "ultra_checkers.png", "spiral.jpeg", "funky.jpeg" ], inputs=control_image)
|
241 |
prompt = gr.Textbox(label="Prompt", elem_id="prompt", info="Type what you want to generate", placeholder="Medieval village scene with busy streets and castle in the distance")
|
@@ -250,7 +259,7 @@ with gr.Blocks() as app:
|
|
250 |
used_seed = gr.Number(label="Last seed used",interactive=False)
|
251 |
run_btn = gr.Button("Run")
|
252 |
with gr.Column():
|
253 |
-
result_image = gr.Image(label="
|
254 |
with gr.Group(elem_id="share-btn-container", visible=False) as share_group:
|
255 |
community_icon = gr.HTML(community_icon_html)
|
256 |
loading_icon = gr.HTML(loading_icon_html)
|
|
|
35 |
SAFETY_CHECKER_ENABLED = os.environ.get("SAFETY_CHECKER", "0") == "1"
|
36 |
safety_checker = None
|
37 |
feature_extractor = None
|
38 |
+
device='cuda'
|
39 |
+
device='cpu'
|
40 |
+
|
41 |
+
|
42 |
if SAFETY_CHECKER_ENABLED:
|
43 |
+
safety_checker = StableDiffusionSafetyChecker.from_pretrained("CompVis/stable-diffusion-safety-checker").to(device)
|
44 |
feature_extractor = CLIPImageProcessor.from_pretrained("openai/clip-vit-base-patch32")
|
45 |
|
46 |
+
|
47 |
main_pipe = StableDiffusionControlNetPipeline.from_pretrained(
|
48 |
BASE_MODEL,
|
49 |
controlnet=controlnet,
|
|
|
51 |
safety_checker=safety_checker,
|
52 |
feature_extractor=feature_extractor,
|
53 |
torch_dtype=torch.float16,
|
54 |
+
).to(device)
|
55 |
|
56 |
# Function to check NSFW images
|
57 |
#def check_nsfw_images(images: list[Image.Image]) -> tuple[list[Image.Image], list[bool]]:
|
|
|
169 |
|
170 |
main_pipe.scheduler = SAMPLER_MAP[sampler](main_pipe.scheduler.config)
|
171 |
my_seed = random.randint(0, 2**32 - 1) if seed == -1 else seed
|
172 |
+
generator = torch.Generator(device=device).manual_seed(my_seed)
|
173 |
|
174 |
out = main_pipe(
|
175 |
prompt=prompt,
|
|
|
226 |
gr.Markdown(
|
227 |
'''
|
228 |
<div style="text-align: center;">
|
229 |
+
<h1>pattern + prompt = image</h1>
|
230 |
<p style="font-size:16px;">Generate stunning high quality illusion artwork with Stable Diffusion</p>
|
231 |
<p>Illusion Diffusion is back up with a safety checker! Because I have been asked, if you would like to support me, consider using <a href="https://deforum.studio">deforum.studio</a></p>
|
232 |
+
<p>With big contributions from
|
233 |
+
<ul>
|
234 |
+
<li><a href="https://twitter.com/multimodalart">multimodalart</a></li>
|
235 |
+
<li><a href="https://huggingface.co/monster-labs/control_v1p_sd15_qrcode_monster">Monster Labs QR Control Net</a></li>
|
236 |
+
<li><a href="https://twitter.com/MrUgleh">MrUgleh</a>/li>
|
237 |
+
</ul>
|
238 |
</div>
|
239 |
'''
|
240 |
)
|
|
|
244 |
state_img_output = gr.State()
|
245 |
with gr.Row():
|
246 |
with gr.Column():
|
247 |
+
control_image = gr.Image(label="Input pattern", type="pil", elem_id="control_image")
|
248 |
controlnet_conditioning_scale = gr.Slider(minimum=0.0, maximum=5.0, step=0.01, value=0.8, label="Illusion strength", elem_id="illusion_strength", info="ControlNet conditioning scale")
|
249 |
gr.Examples(examples=["checkers.png", "checkers_mid.jpg", "pattern.png", "ultra_checkers.png", "spiral.jpeg", "funky.jpeg" ], inputs=control_image)
|
250 |
prompt = gr.Textbox(label="Prompt", elem_id="prompt", info="Type what you want to generate", placeholder="Medieval village scene with busy streets and castle in the distance")
|
|
|
259 |
used_seed = gr.Number(label="Last seed used",interactive=False)
|
260 |
run_btn = gr.Button("Run")
|
261 |
with gr.Column():
|
262 |
+
result_image = gr.Image(label="Output", interactive=False, elem_id="output")
|
263 |
with gr.Group(elem_id="share-btn-container", visible=False) as share_group:
|
264 |
community_icon = gr.HTML(community_icon_html)
|
265 |
loading_icon = gr.HTML(loading_icon_html)
|