JoPmt's picture
Update app.py
7bf7337 verified
raw
history blame contribute delete
No virus
1.66 kB
import torch, os, gc, random
import gradio as gr
from PIL import Image
from diffusers.utils import load_image
from accelerate import Accelerator
from diffusers import StableDiffusionXLPipeline, EulerDiscreteScheduler
accelerator = Accelerator(cpu=True)
pipe = accelerator.prepare(StableDiffusionXLPipeline.from_single_file("https://huggingface.co/lllyasviel/fav_models/fav/juggernautXL_version6Rundiffusion.safetensors", torch_dtype=torch.bfloat16, use_safetensors=True, variant=None, safety_checker=False))
##pipe.scheduler = accelerator.prepare(EulerDiscreteScheduler.from_config(pipe.scheduler.config))
##pipe.unet.to(memory_format=torch.channels_last)
pipe.to("cpu")
apol=[]
def plex(prompt,neg_prompt,stips,nut):
apol=[]
if nut == 0:
nm = random.randint(1, 2147483616)
while nm % 32 != 0:
nm = random.randint(1, 2147483616)
else:
nm=nut
generator = torch.Generator(device="cpu").manual_seed(nm)
image = pipe(prompt=prompt, negative_prompt=neg_prompt, denoising_end=1.0,num_inference_steps=stips, output_type="pil",generator=generator)
for i, imge in enumerate(image["images"]):
apol.append(imge)
return apol
iface = gr.Interface(fn=plex, inputs=[gr.Textbox(label="prompt"),gr.Textbox(label="negative prompt",value="ugly, blurry, poor quality"), gr.Slider(label="num inference steps", minimum=1, step=1, maximum=10, value=6),gr.Slider(label="manual seed (leave 0 for random)", minimum=0,step=32,maximum=2147483616,value=0)], outputs=gr.Gallery(label="out", columns=1),description="Running on cpu, very slow! by JoPmt.")
iface.queue(max_size=1,api_open=False)
iface.launch(max_threads=1)