Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
|
19 |
-
|
20 |
-
|
21 |
-
progress_bar.progress(
|
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)
|
|
|
|