waifu-generator / app.py
rdp-studio's picture
Create new file
df714da
raw
history blame contribute delete
No virus
2.04 kB
import gradio as gr
import torch
from torch import autocast
from diffusers import StableDiffusionPipeline
import random
model = "hakurei/waifu-diffusion"
device = "cpu"
pipe = StableDiffusionPipeline.from_pretrained(model, torch_dtype=torch.float32)
pipe = pipe.to(device)
block = gr.Blocks(css=".container { max-width: 800px; margin: auto; }")
def infer(prompt, width, height, nums, steps, guidance_scale, seed):
print(prompt)
print(width, height, nums, steps, guidance_scale, seed)
if prompt is not None and prompt != "":
if seed is None or seed == '' or seed == -1:
seed = int(random.randrange(4294967294))
generator = torch.Generator(device).manual_seed(seed)
images = pipe([prompt] * nums, height=height, width=width, num_inference_steps=steps, generator=generator, guidance_scale=guidance_scale )["sample"]
return images
# with block as demo:
def run():
_app = gr.Interface(
fn=infer,
title="Waifu Generator",
inputs=[
gr.Textbox(label="prompt"),
gr.Slider(512, 1024, 512, step=64, label="width"),
gr.Slider(512, 1024, 512, step=64, label="height"),
gr.Slider(1, 4, 1, step=1, label="Number of Images"),
gr.Slider(10, 150, step=1, value=50,
label="num_inference_steps:\n"
"The number of denoising steps. More de-scaling steps usually result in a higher quality image, but will slow down inference."),
gr.Slider(0, 20, 7.5, step=0.5,
label="guidance_scale:\n" +
"A higher boot ratio encourages the generation of images that are closely related to text \"hints\", often at the expense of reduced image quality"),
gr.Textbox(label="Random seed",
placeholder="Random Seed",
lines=1),
],
outputs=[
gr.Gallery(label="Generated images")
])
return _app
app = run()
app.launch(debug=True)