linkdom commited on
Commit
147d42f
·
1 Parent(s): f9b6450

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -9
app.py CHANGED
@@ -3,18 +3,31 @@ import numpy as np
3
  import time
4
 
5
  # define core fn, which returns a generator {steps} times before returning the image
6
- def fake_diffusion(steps):
7
- for _ in range(steps):
8
- time.sleep(1)
9
- image = np.random.random((600, 600, 3))
10
- yield image
11
- image = "https://gradio-builds.s3.amazonaws.com/diffusion_image/cute_dog.jpg"
12
- yield image
13
 
 
 
 
 
 
 
 
14
 
15
- demo = gr.Interface(fake_diffusion, inputs=gr.Slider(1, 10, 3), outputs="image")
 
 
 
 
 
 
 
 
 
16
 
17
  # define queue - required for generators
18
  demo.queue()
19
 
20
- demo.launch()
 
3
  import time
4
 
5
  # define core fn, which returns a generator {steps} times before returning the image
6
+ def fake_diffusion(image, steps):
7
+ original_image = image.astype(np.float32) / 255.0
8
+ noisy_image = original_image + np.random.normal(0, 1, original_image.shape)
9
+ noisy_image = np.clip(noisy_image, 0, 1)
 
 
 
10
 
11
+ for i in range(steps):
12
+ time.sleep(0.2) # Shorter sleep for faster demo
13
+ # Simulate denoising: gradually revert to the original image
14
+ progress = (i + 1) / steps
15
+ denoised_step = (1 - progress) * noisy_image + progress * original_image
16
+ denoised_step = np.clip(denoised_step, 0, 1)
17
+ yield (denoised_step * 255).astype(np.uint8)
18
 
19
+ demo = gr.Interface(
20
+ fake_diffusion,
21
+ inputs=[
22
+ gr.Image(type="numpy", label="Input Image", value="https://gradio-builds.s3.amazonaws.com/diffusion_image/cute_dog.jpg"),
23
+ gr.Slider(1, 20, 10, label="Denoising Steps")
24
+ ],
25
+ outputs=gr.Image(type="numpy", label="Denoised Image"),
26
+ title="Fake Image Diffusion Demo",
27
+ description="Upload an image and see a fake diffusion process denoise it step-by-step. Adjust the number of denoising steps using the slider."
28
+ )
29
 
30
  # define queue - required for generators
31
  demo.queue()
32
 
33
+ demo.launch()