dvoils commited on
Commit
86655c5
1 Parent(s): 174c59e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -14
app.py CHANGED
@@ -2,23 +2,30 @@ import streamlit as st
2
  from diffusers import DDPMPipeline
3
  import PIL
4
  import time
5
-
6
- def generate_image():
7
- pipeline = DDPMPipeline.from_pretrained('dvoils/sd-class-butterflies-32')
8
- image = pipeline().images[0]
9
- return image
10
 
11
  st.title('DDPMPipeline Image Generator')
12
 
 
 
 
 
 
 
 
 
 
 
13
  if st.button('Generate Image'):
 
 
 
 
14
  with st.spinner('Generating Image...'):
15
- # Create a progress bar
16
  progress_bar = st.progress(0)
17
-
18
- for i in range(100):
19
- # Update the progress bar with each iteration.
20
- time.sleep(0.01)
21
- progress_bar.progress(i + 1)
22
-
23
- image = generate_image()
24
- st.image(image, caption='Generated Image', use_column_width=True)
 
2
  from diffusers import DDPMPipeline
3
  import PIL
4
  import time
5
+ import threading
 
 
 
 
6
 
7
  st.title('DDPMPipeline Image Generator')
8
 
9
+ class ImageGenerator:
10
+ def __init__(self):
11
+ self.done = False
12
+ self.image = None
13
+
14
+ def long_running_task(self):
15
+ pipeline = DDPMPipeline.from_pretrained('dvoils/sd-class-butterflies-32')
16
+ self.image = pipeline().images[0]
17
+ self.done = True
18
+
19
  if st.button('Generate Image'):
20
+ generator = ImageGenerator()
21
+ thread = threading.Thread(target=generator.long_running_task)
22
+ thread.start()
23
+
24
  with st.spinner('Generating Image...'):
 
25
  progress_bar = st.progress(0)
26
+ while not generator.done:
27
+ for i in range(100):
28
+ time.sleep(0.01)
29
+ progress_bar.progress(i + 1)
30
+ progress_bar.progress(0)
31
+ st.image(generator.image, caption='Generated Image', use_column_width=True)