Alex-23 commited on
Commit
c6c340c
·
1 Parent(s): bfd914c

Delete app.py

Browse files
Files changed (1) hide show
  1. app.py +0 -81
app.py DELETED
@@ -1,81 +0,0 @@
1
- from diffusers import DDPMPipeline
2
- image_pipe = DDPMPipeline.from_pretrained("google/ddpm-celebahq-256")
3
- image_pipe.to("cuda")
4
- images = image_pipe().images
5
- image_pipe
6
- from diffusers import UNet2DModel
7
- repo_id = "google/ddpm-church-256"
8
- model = UNet2DModel.from_pretrained(repo_id)
9
- model
10
- model.config
11
- model_random = UNet2DModel(**model.config)
12
- model_random.save_pretrained("my_model")
13
- model_random = UNet2DModel.from_pretrained("my_model")
14
- import torch
15
-
16
- torch.manual_seed(0)
17
-
18
- noisy_sample = torch.randn(
19
- 1, model.config.in_channels, model.config.sample_size, model.config.sample_size
20
- )
21
- noisy_sample.shape
22
- with torch.no_grad():
23
- noisy_residual = model(sample=noisy_sample, timestep=2).sample
24
- noisy_residual.shape
25
- from diffusers import DDPMScheduler
26
-
27
- scheduler = DDPMScheduler.from_config(repo_id)
28
- scheduler.config
29
- scheduler.save_config("my_scheduler")
30
- new_scheduler = DDPMScheduler.from_config("my_scheduler")
31
- less_noisy_sample = scheduler.step(
32
- model_output=noisy_residual, timestep=2, sample=noisy_sample
33
- ).prev_sample
34
- less_noisy_sample.shape
35
- import PIL.Image
36
- import numpy as np
37
-
38
- def display_sample(sample, i):
39
- image_processed = sample.cpu().permute(0, 2, 3, 1)
40
- image_processed = (image_processed + 1.0) * 127.5
41
- image_processed = image_processed.numpy().astype(np.uint8)
42
-
43
- image_pil = PIL.Image.fromarray(image_processed[0])
44
- display(f"Image at step {i}")
45
- display(image_pil)
46
- model.to("cuda")
47
- noisy_sample = noisy_sample.to("cuda")
48
- import tqdm
49
-
50
- sample = noisy_sample
51
-
52
- for i, t in enumerate(tqdm.tqdm(scheduler.timesteps)):
53
- # 1. predict noise residual
54
- with torch.no_grad():
55
- residual = model(sample, t).sample
56
-
57
- # 2. compute less noisy image and set x_t -> x_t-1
58
- sample = scheduler.step(residual, t, sample).prev_sample
59
-
60
- # 3. optionally look at image
61
- if (i + 1) % 50 == 0:
62
- display_sample(sample, i + 1)
63
- from diffusers import DDIMScheduler
64
-
65
- scheduler = DDIMScheduler.from_config(repo_id)
66
- scheduler.set_timesteps(num_inference_steps=50)
67
- import tqdm
68
-
69
- sample = noisy_sample
70
-
71
- for i, t in enumerate(tqdm.tqdm(scheduler.timesteps)):
72
- # 1. predict noise residual
73
- with torch.no_grad():
74
- residual = model(sample, t).sample
75
-
76
- # 2. compute previous image and set x_t -> x_t-1
77
- sample = scheduler.step(residual, t, sample).prev_sample
78
-
79
- # 3. optionally look at image
80
- if (i + 1) % 10 == 0:
81
- display_sample(sample, i + 1)