Update app.py
Browse files
app.py
CHANGED
@@ -1,15 +1,10 @@
|
|
1 |
import random
|
2 |
-
import re
|
3 |
import gradio as gr
|
4 |
import numpy as np
|
5 |
import spaces
|
6 |
import torch
|
7 |
from diffusers import AutoencoderKL
|
8 |
from mixture_tiling_sdxl import StableDiffusionXLTilingPipeline
|
9 |
-
from transformers import pipeline
|
10 |
-
|
11 |
-
# νκΈ μ
λ ₯ μ μμ΄λ‘ λ²μνκΈ° μν νμ΄νλΌμΈ (CPUμμ λμ)
|
12 |
-
translator = pipeline("translation", model="Helsinki-NLP/opus-mt-ko-en")
|
13 |
|
14 |
MAX_SEED = np.iinfo(np.int32).max
|
15 |
SCHEDULERS = [
|
@@ -42,14 +37,6 @@ pipe.enable_vae_tiling()
|
|
42 |
pipe.enable_vae_slicing()
|
43 |
|
44 |
#region helper functions
|
45 |
-
def translate_if_needed(text: str) -> str:
|
46 |
-
"""ν
μ€νΈμ νκΈμ΄ ν¬ν¨λ κ²½μ° μμ΄λ‘ λ²μνμ¬ λ°ν."""
|
47 |
-
if re.search(r'[\uac00-\ud7a3]', text):
|
48 |
-
# λ²μ κ²°κ³Όλ 리μ€νΈμ 첫λ²μ§Έ μμμ "translation_text" ν€μ μμ
|
49 |
-
translated = translator(text)[0]["translation_text"]
|
50 |
-
return translated
|
51 |
-
return text
|
52 |
-
|
53 |
def select_scheduler(scheduler_name):
|
54 |
scheduler_parts = scheduler_name.split("-")
|
55 |
scheduler_class_name = scheduler_parts[0]
|
@@ -76,11 +63,6 @@ def predict(left_prompt, center_prompt, right_prompt, negative_prompt, left_gs,
|
|
76 |
pipe.scheduler = select_scheduler(scheduler)
|
77 |
generator = torch.Generator("cuda").manual_seed(generation_seed)
|
78 |
|
79 |
-
# νκΈ ν둬ννΈκ° μ
λ ₯λ κ²½μ° μμ΄λ‘ λ²μ
|
80 |
-
left_prompt = translate_if_needed(left_prompt)
|
81 |
-
center_prompt = translate_if_needed(center_prompt)
|
82 |
-
right_prompt = translate_if_needed(right_prompt)
|
83 |
-
|
84 |
target_height = int(target_height)
|
85 |
target_width = int(target_width)
|
86 |
tile_height = int(tile_height)
|
@@ -240,7 +222,7 @@ button:hover, .btn:hover {
|
|
240 |
title = """
|
241 |
<h1 align="center" style="margin-bottom: 0.2em;"> π€ Panorama X3 Image </h1>
|
242 |
<p align="center" style="font-size:1.1em; color:#555;">
|
243 |
-
|
244 |
</p>
|
245 |
"""
|
246 |
|
@@ -254,15 +236,15 @@ with gr.Blocks(css=css, title="SDXL Tiling Pipeline") as app:
|
|
254 |
with gr.Row():
|
255 |
with gr.Column(variant="panel"):
|
256 |
gr.Markdown("### Left Region")
|
257 |
-
left_prompt = gr.Textbox(lines=4, placeholder="e.g.,
|
258 |
left_gs = gr.Slider(minimum=0, maximum=15, value=7, step=1, label="Left CFG Scale")
|
259 |
with gr.Column(variant="panel"):
|
260 |
gr.Markdown("### Center Region")
|
261 |
-
center_prompt = gr.Textbox(lines=4, placeholder="e.g.,
|
262 |
center_gs = gr.Slider(minimum=0, maximum=15, value=7, step=1, label="Center CFG Scale")
|
263 |
with gr.Column(variant="panel"):
|
264 |
gr.Markdown("### Right Region")
|
265 |
-
right_prompt = gr.Textbox(lines=4, placeholder="e.g.,
|
266 |
right_gs = gr.Slider(minimum=0, maximum=15, value=7, step=1, label="Right CFG Scale")
|
267 |
with gr.Row():
|
268 |
negative_prompt = gr.Textbox(
|
@@ -377,4 +359,4 @@ with gr.Blocks(css=css, title="SDXL Tiling Pipeline") as app:
|
|
377 |
outputs=result,
|
378 |
)
|
379 |
|
380 |
-
app.launch(share=False)
|
|
|
1 |
import random
|
|
|
2 |
import gradio as gr
|
3 |
import numpy as np
|
4 |
import spaces
|
5 |
import torch
|
6 |
from diffusers import AutoencoderKL
|
7 |
from mixture_tiling_sdxl import StableDiffusionXLTilingPipeline
|
|
|
|
|
|
|
|
|
8 |
|
9 |
MAX_SEED = np.iinfo(np.int32).max
|
10 |
SCHEDULERS = [
|
|
|
37 |
pipe.enable_vae_slicing()
|
38 |
|
39 |
#region helper functions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
def select_scheduler(scheduler_name):
|
41 |
scheduler_parts = scheduler_name.split("-")
|
42 |
scheduler_class_name = scheduler_parts[0]
|
|
|
63 |
pipe.scheduler = select_scheduler(scheduler)
|
64 |
generator = torch.Generator("cuda").manual_seed(generation_seed)
|
65 |
|
|
|
|
|
|
|
|
|
|
|
66 |
target_height = int(target_height)
|
67 |
target_width = int(target_width)
|
68 |
tile_height = int(tile_height)
|
|
|
222 |
title = """
|
223 |
<h1 align="center" style="margin-bottom: 0.2em;"> π€ Panorama X3 Image </h1>
|
224 |
<p align="center" style="font-size:1.1em; color:#555;">
|
225 |
+
Create panoramic images with left/center/right prompts
|
226 |
</p>
|
227 |
"""
|
228 |
|
|
|
236 |
with gr.Row():
|
237 |
with gr.Column(variant="panel"):
|
238 |
gr.Markdown("### Left Region")
|
239 |
+
left_prompt = gr.Textbox(lines=4, placeholder="e.g., Lush green forest with sun rays...", label="Left Prompt")
|
240 |
left_gs = gr.Slider(minimum=0, maximum=15, value=7, step=1, label="Left CFG Scale")
|
241 |
with gr.Column(variant="panel"):
|
242 |
gr.Markdown("### Center Region")
|
243 |
+
center_prompt = gr.Textbox(lines=4, placeholder="e.g., Crystal clear lake reflecting...", label="Center Prompt")
|
244 |
center_gs = gr.Slider(minimum=0, maximum=15, value=7, step=1, label="Center CFG Scale")
|
245 |
with gr.Column(variant="panel"):
|
246 |
gr.Markdown("### Right Region")
|
247 |
+
right_prompt = gr.Textbox(lines=4, placeholder="e.g., Majestic mountains with snowy peaks...", label="Right Prompt")
|
248 |
right_gs = gr.Slider(minimum=0, maximum=15, value=7, step=1, label="Right CFG Scale")
|
249 |
with gr.Row():
|
250 |
negative_prompt = gr.Textbox(
|
|
|
359 |
outputs=result,
|
360 |
)
|
361 |
|
362 |
+
app.launch(share=False)
|