from diffusers import DiffusionPipeline
import torch
import PIL.Image
import gradio as gr
import random
import numpy as np
pipeline = DiffusionPipeline.from_pretrained("SeyedAli/ddpm-butterflies-128")
def predict(steps, seed):
generator = torch.manual_seed(seed)
for i in range(1,steps):
yield pipeline(generator=generator, num_inference_steps=i).images[0]
random_seed = random.randint(0, 2147483647)
gr.Interface(
predict,
inputs=[
gr.Slider(1, 100, label='Inference Steps', default=5, step=1),
gr.Slider(0, 2147483647, label='Seed', default=random_seed, step=1),
],
outputs=gr.Image(shape=[128,128], type="pil", elem_id="output_image"),
css="#output_image{width: 256px}",
title="Unconditional butterflies",
description="A DDPM scheduler and UNet model trained (from this checkpoint) on a subset of the Smithsonian Butterflies dataset for unconditional image generation.",
).queue().launch()