example.py 735 Bytes
Newer Older
Patrick von Platen's avatar
Patrick von Platen committed
1
2
#!/usr/bin/env python3
import tempfile
Patrick von Platen's avatar
up  
Patrick von Platen committed
3
import sys
Patrick von Platen's avatar
Patrick von Platen committed
4

Patrick von Platen's avatar
improve  
Patrick von Platen committed
5
6
7
from diffusers import GaussianDDPMScheduler, UNetModel
from modeling_ddpm import DDPM

Patrick von Platen's avatar
up  
Patrick von Platen committed
8
9
10
model_id = sys.argv[1]
folder = sys.argv[2]
save = bool(int(sys.argv[3]))
Patrick von Platen's avatar
improve  
Patrick von Platen committed
11

Patrick von Platen's avatar
up  
Patrick von Platen committed
12
13
unet = UNetModel.from_pretrained(model_id)
sampler = GaussianDDPMScheduler.from_config(model_id)
Patrick von Platen's avatar
Patrick von Platen committed
14
15

# compose Diffusion Pipeline
Patrick von Platen's avatar
up  
Patrick von Platen committed
16
17
18
19
if save:
    ddpm = DDPM(unet, sampler)
    ddpm.save_pretrained(folder)

Patrick von Platen's avatar
Patrick von Platen committed
20
21
image = ddpm()

Patrick von Platen's avatar
up  
Patrick von Platen committed
22
23
24
25
26
27
28
import PIL.Image
import numpy as np
image_processed = image.cpu().permute(0, 2, 3, 1)
image_processed = (image_processed + 1.0) * 127.5
image_processed = image_processed.numpy().astype(np.uint8)
image_pil = PIL.Image.fromarray(image_processed[0])
image_pil.save("test.png")
Patrick von Platen's avatar
Patrick von Platen committed
29

Patrick von Platen's avatar
up  
Patrick von Platen committed
30
import ipdb; ipdb.set_trace()