File size: 1,062 Bytes
611bd3a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from diffusers import DiffusionPipeline
import spaces
import torch
import PIL.Image
import gradio as gr
import gradio.components as grc
import numpy as np

pipeline = DiffusionPipeline.from_pretrained("nathanReitinger/MNIST-diffusion-oneImage")
device = "cuda" if torch.cuda.is_available() else "cpu"
pipeline = pipeline.to(device=device)

@spaces.GPU
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]

gr.Interface(
    predict,
    inputs=[
        grc.Slider(1, 1000, label='Inference Steps', value=1000, step=1),
        # grc.Slider(0, 2147483647, label='Seed', value=69420, step=1),
    ],
    outputs=gr.Image(height=28, width=28, type="pil", elem_id="output_image"),
    css="#output_image{width: 256px !important; height: 256px !important;}",
    title="Unconditional MNIST -- infringing (trained on one image)!",
    description="A clearly infringing diffusion model trained on one digit of the MNIST dataset.",
).queue().launch()