Spaces:
Build error
Build error
added upsacle function to upscale outputs automatically
Browse files
app.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
from diffusers import AutoencoderKL, UNet2DConditionModel, StableDiffusionPipeline, StableDiffusionImg2ImgPipeline, DPMSolverMultistepScheduler
|
| 2 |
import gradio as gr
|
| 3 |
import torch
|
| 4 |
from PIL import Image
|
|
@@ -14,6 +14,12 @@ is_colab = utils.is_google_colab()
|
|
| 14 |
state = None
|
| 15 |
current_steps = 25
|
| 16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
class Model:
|
| 18 |
def __init__(self, name, path="", prefix=""):
|
| 19 |
self.name = name
|
|
@@ -119,7 +125,6 @@ models = [
|
|
| 119 |
Model("Funko-Diffusion", "prompthero/funko-diffusion", "funko style"),
|
| 120 |
Model("DreamShaper", "Lykon/DreamShaper", "dreamshaper"),
|
| 121 |
Model("Realistic_Vision_V1.4", "SG161222/Realistic_Vision_V1.4", ""),
|
| 122 |
-
Model("upscalerx4","stabilityai/stable-diffusion-x4-upscaler","")
|
| 123 |
|
| 124 |
|
| 125 |
|
|
@@ -260,7 +265,7 @@ def txt_to_img(model_path, prompt, n_images, neg_prompt, guidance, steps, width,
|
|
| 260 |
|
| 261 |
# update_state(f"Done. Seed: {seed}")
|
| 262 |
|
| 263 |
-
return replace_nsfw_images(result)
|
| 264 |
|
| 265 |
def img_to_img(model_path, prompt, n_images, neg_prompt, img, strength, guidance, steps, width, height, generator, seed):
|
| 266 |
|
|
@@ -313,7 +318,7 @@ def img_to_img(model_path, prompt, n_images, neg_prompt, img, strength, guidance
|
|
| 313 |
|
| 314 |
# update_state(f"Done. Seed: {seed}")
|
| 315 |
|
| 316 |
-
return replace_nsfw_images(result)
|
| 317 |
|
| 318 |
def replace_nsfw_images(results):
|
| 319 |
|
|
@@ -325,6 +330,11 @@ def replace_nsfw_images(results):
|
|
| 325 |
results.images[i] = Image.open("nsfw.png")
|
| 326 |
return results.images
|
| 327 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 328 |
# css = """.finetuned-diffusion-div div{display:inline-flex;align-items:center;gap:.8rem;font-size:1.75rem}.finetuned-diffusion-div div h1{font-weight:900;margin-bottom:7px}.finetuned-diffusion-div p{margin-bottom:10px;font-size:94%}a{text-decoration:underline}.tabs{margin-top:0;margin-bottom:0}#gallery{min-height:20rem}
|
| 329 |
# """
|
| 330 |
with gr.Blocks(css="style.css") as demo:
|
|
|
|
| 1 |
+
from diffusers import AutoencoderKL, UNet2DConditionModel, StableDiffusionPipeline, StableDiffusionImg2ImgPipeline, DPMSolverMultistepScheduler, DiffusionPipeline
|
| 2 |
import gradio as gr
|
| 3 |
import torch
|
| 4 |
from PIL import Image
|
|
|
|
| 14 |
state = None
|
| 15 |
current_steps = 25
|
| 16 |
|
| 17 |
+
UPSCALER = DiffusionPipeline.from_pretrained("stabilityai/sd-x2-latent-upscaler", torch_dtype=torch.float16)
|
| 18 |
+
if torch.cuda.is_available():
|
| 19 |
+
UPSCALER.to("cuda")
|
| 20 |
+
UPSCALER.enable_xformers_memory_efficient_attention()
|
| 21 |
+
|
| 22 |
+
|
| 23 |
class Model:
|
| 24 |
def __init__(self, name, path="", prefix=""):
|
| 25 |
self.name = name
|
|
|
|
| 125 |
Model("Funko-Diffusion", "prompthero/funko-diffusion", "funko style"),
|
| 126 |
Model("DreamShaper", "Lykon/DreamShaper", "dreamshaper"),
|
| 127 |
Model("Realistic_Vision_V1.4", "SG161222/Realistic_Vision_V1.4", ""),
|
|
|
|
| 128 |
|
| 129 |
|
| 130 |
|
|
|
|
| 265 |
|
| 266 |
# update_state(f"Done. Seed: {seed}")
|
| 267 |
|
| 268 |
+
return replace_nsfw_images(upscale(result, prompt, neg_prompt, generator))
|
| 269 |
|
| 270 |
def img_to_img(model_path, prompt, n_images, neg_prompt, img, strength, guidance, steps, width, height, generator, seed):
|
| 271 |
|
|
|
|
| 318 |
|
| 319 |
# update_state(f"Done. Seed: {seed}")
|
| 320 |
|
| 321 |
+
return replace_nsfw_images(upscale(result, prompt, neg_prompt, generator))
|
| 322 |
|
| 323 |
def replace_nsfw_images(results):
|
| 324 |
|
|
|
|
| 330 |
results.images[i] = Image.open("nsfw.png")
|
| 331 |
return results.images
|
| 332 |
|
| 333 |
+
def upscale(results, prompt, neg_prompt, generator):
|
| 334 |
+
for i in range(len(results.images)):
|
| 335 |
+
results.images.append(UPSCALER(prompt=prompt, negative_prompt=neg_prompt, image=results.images[i], num_inference_steps=20, guidance_scale=0, generator=generator).images[0])
|
| 336 |
+
return results
|
| 337 |
+
|
| 338 |
# css = """.finetuned-diffusion-div div{display:inline-flex;align-items:center;gap:.8rem;font-size:1.75rem}.finetuned-diffusion-div div h1{font-weight:900;margin-bottom:7px}.finetuned-diffusion-div p{margin-bottom:10px;font-size:94%}a{text-decoration:underline}.tabs{margin-top:0;margin-bottom:0}#gallery{min-height:20rem}
|
| 339 |
# """
|
| 340 |
with gr.Blocks(css="style.css") as demo:
|