Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -103,20 +103,8 @@ def save_image(image):
|
|
103 |
print(f"Error in save_image: {str(e)}")
|
104 |
return None
|
105 |
|
106 |
-
|
107 |
-
|
108 |
-
"A 3D Star Wars Darth Vader helmet, highly detailed metallic finish",
|
109 |
-
"A 3D Iron Man mask with glowing eyes and metallic red-gold finish",
|
110 |
-
"A 3D Pokemon Pikachu figure with glossy surface",
|
111 |
-
"A 3D geometric abstract cube transforming into a sphere, metallic finish",
|
112 |
-
"A 3D steampunk mechanical heart with brass and copper details",
|
113 |
-
"A 3D crystal dragon with transparent iridescent scales",
|
114 |
-
"A 3D futuristic hovering drone with neon light accents",
|
115 |
-
"A 3D ancient Greek warrior helmet with ornate details",
|
116 |
-
"A 3D robotic butterfly with mechanical wings and metallic finish",
|
117 |
-
"A 3D floating magical crystal orb with internal energy swirls"
|
118 |
-
]
|
119 |
-
|
120 |
|
121 |
@spaces.GPU
|
122 |
def process_and_save_image(height=1024, width=1024, steps=8, scales=3.5, prompt="", seed=None):
|
@@ -157,20 +145,19 @@ def process_and_save_image(height=1024, width=1024, steps=8, scales=3.5, prompt=
|
|
157 |
print(f"Error in image generation: {str(e)}")
|
158 |
return None
|
159 |
|
160 |
-
def
|
161 |
-
|
162 |
-
|
163 |
-
def process_example(prompt):
|
164 |
return process_and_save_image(
|
165 |
-
height=
|
166 |
-
width=
|
167 |
-
steps=
|
168 |
-
scales=
|
169 |
-
prompt=
|
170 |
-
seed=
|
171 |
)
|
172 |
|
173 |
-
|
|
|
174 |
|
175 |
# Gradio ์ธํฐํ์ด์ค
|
176 |
with gr.Blocks(
|
@@ -286,7 +273,7 @@ with gr.Blocks(
|
|
286 |
gr.HTML("<h2 class='gallery-title'>Gallery</h2>")
|
287 |
gallery_html = "<div style='display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px;'>"
|
288 |
|
289 |
-
for img_file,
|
290 |
if os.path.exists(img_file):
|
291 |
gallery_html += f"""
|
292 |
<div style='
|
@@ -306,46 +293,25 @@ with gr.Blocks(
|
|
306 |
font-weight: bold;
|
307 |
color: #333;
|
308 |
padding: 10px;
|
309 |
-
'>Prompt: {
|
310 |
</div>
|
311 |
"""
|
312 |
|
313 |
gallery_html += "</div>"
|
314 |
gr.HTML(gallery_html)
|
315 |
|
316 |
-
# ์ด๋ฒคํธ ํธ๋ค๋ฌ ๋ถ๋ถ๋ง ์์
|
317 |
-
def generate_image(h, w, s, sc, p, sd):
|
318 |
-
return process_and_save_image(
|
319 |
-
height=h,
|
320 |
-
width=w,
|
321 |
-
steps=s,
|
322 |
-
scales=sc,
|
323 |
-
prompt=p,
|
324 |
-
seed=sd
|
325 |
-
)
|
326 |
-
|
327 |
-
def update_random_seed():
|
328 |
-
return gr.Number.update(value=get_random_seed())
|
329 |
-
|
330 |
# ์ด๋ฒคํธ ๋ฐ์ธ๋ฉ
|
331 |
generate_btn.click(
|
332 |
-
generate_image,
|
333 |
-
inputs=
|
334 |
-
"h": height,
|
335 |
-
"w": width,
|
336 |
-
"s": steps,
|
337 |
-
"sc": scales,
|
338 |
-
"p": prompt,
|
339 |
-
"sd": seed
|
340 |
-
},
|
341 |
outputs=output
|
342 |
)
|
343 |
|
344 |
randomize_seed.click(
|
345 |
-
update_random_seed,
|
346 |
inputs=None,
|
347 |
outputs=seed
|
348 |
)
|
349 |
|
350 |
if __name__ == "__main__":
|
351 |
-
demo.launch(allowed_paths=[PERSISTENT_DIR])
|
|
|
103 |
print(f"Error in save_image: {str(e)}")
|
104 |
return None
|
105 |
|
106 |
+
def get_random_seed():
|
107 |
+
return torch.randint(0, 1000000, (1,)).item()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
|
109 |
@spaces.GPU
|
110 |
def process_and_save_image(height=1024, width=1024, steps=8, scales=3.5, prompt="", seed=None):
|
|
|
145 |
print(f"Error in image generation: {str(e)}")
|
146 |
return None
|
147 |
|
148 |
+
def generate_image(h, w, s, sc, p, sd):
|
149 |
+
"""Gradio์์ ๋๊ฒจ๋ฐ์ ํ๋ผ๋ฏธํฐ ์์์ ๋ง์ถฐ ์ด๋ฏธ์ง ์์ฑ ํจ์ ํธ์ถ"""
|
|
|
|
|
150 |
return process_and_save_image(
|
151 |
+
height=h,
|
152 |
+
width=w,
|
153 |
+
steps=s,
|
154 |
+
scales=sc,
|
155 |
+
prompt=p,
|
156 |
+
seed=sd
|
157 |
)
|
158 |
|
159 |
+
def update_random_seed():
|
160 |
+
return gr.Number.update(value=get_random_seed())
|
161 |
|
162 |
# Gradio ์ธํฐํ์ด์ค
|
163 |
with gr.Blocks(
|
|
|
273 |
gr.HTML("<h2 class='gallery-title'>Gallery</h2>")
|
274 |
gallery_html = "<div style='display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px;'>"
|
275 |
|
276 |
+
for img_file, sample_prompt in SAMPLE_IMAGES.items():
|
277 |
if os.path.exists(img_file):
|
278 |
gallery_html += f"""
|
279 |
<div style='
|
|
|
293 |
font-weight: bold;
|
294 |
color: #333;
|
295 |
padding: 10px;
|
296 |
+
'>Prompt: {sample_prompt}</p>
|
297 |
</div>
|
298 |
"""
|
299 |
|
300 |
gallery_html += "</div>"
|
301 |
gr.HTML(gallery_html)
|
302 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
# ์ด๋ฒคํธ ๋ฐ์ธ๋ฉ
|
304 |
generate_btn.click(
|
305 |
+
fn=generate_image,
|
306 |
+
inputs=[height, width, steps, scales, prompt, seed], # ๋์
๋๋ฆฌ ๋์ ์์๋๋ก ๋ฆฌ์คํธ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
outputs=output
|
308 |
)
|
309 |
|
310 |
randomize_seed.click(
|
311 |
+
fn=update_random_seed,
|
312 |
inputs=None,
|
313 |
outputs=seed
|
314 |
)
|
315 |
|
316 |
if __name__ == "__main__":
|
317 |
+
demo.launch(allowed_paths=[PERSISTENT_DIR])
|