Spaces:
Running
Running
import gradio as gr | |
import torch | |
import numpy as np | |
import modin.pandas as pd | |
from PIL import Image | |
from datasets import load_dataset | |
from diffusers import DiffusionPipeline, EulerDiscreteScheduler | |
device = "cuda" if torch.cuda.is_available() else "cpu" | |
scheduler = EulerDiscreteScheduler.from_pretrained("stabilityai/stable-diffusion-2", subfolder="scheduler", prediction_type="v_prediction") | |
pipe = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2", scheduler=scheduler) | |
pipe = pipe.to(device) | |
def genie (prompt, scale, steps, seed): | |
generator = torch.Generator(device=device).manual_seed(seed) | |
images = pipe(prompt, width=768, height=768, num_inference_steps=steps, guidance_scale=scale, num_images_per_prompt=1, generator=generator).images | |
return images[0] | |
gr.Interface(fn=genie, inputs=['text', gr.Slider(1, 100, 20), gr.Slider(1, maximum=20, value=10, step=1), gr.Slider(minimum=1, step=1, maximum=999999999999999999, randomize=True)], outputs='image', title="Stable Diffusion 2.0 CPU", description="SD 2.0 CPU. <b>WARNING:</b> Extremely Slow. 130s/Iteration. Expect 25-50mins an image for 10-20 iterations respectively.", article = "Code Monkey: <a href=\"https://huggingface.co/Manjushri\">Manjushri</a>").launch() |