Spaces:
Running on Zero
Running on Zero
Upload app.py with huggingface_hub
Browse files
app.py
CHANGED
|
@@ -269,11 +269,19 @@ def paste_back(bg_pil, generated_patch, inp):
|
|
| 269 |
# ----------------------------------------------------------------------------
|
| 270 |
|
| 271 |
def _estimate_duration(bg, obj, cx, cy, scale, seed, ref_scale, steps, *a, **k):
|
|
|
|
|
|
|
|
|
|
| 272 |
try:
|
| 273 |
steps = int(steps)
|
| 274 |
except Exception:
|
| 275 |
-
steps =
|
| 276 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 277 |
|
| 278 |
|
| 279 |
@spaces.GPU(duration=_estimate_duration)
|
|
@@ -388,15 +396,15 @@ with gr.Blocks(theme=gr.themes.Citrus(), css=CSS) as demo:
|
|
| 388 |
scale = gr.Slider(0.05, 0.9, value=0.35, step=0.01, label="Object size")
|
| 389 |
with gr.Row():
|
| 390 |
ref_scale = gr.Slider(1.0, 5.0, value=2.0, step=0.1, label="Reference guidance scale")
|
| 391 |
-
steps = gr.Slider(
|
| 392 |
seed = gr.Number(label="Seed", value=42, precision=0)
|
| 393 |
rand_btn = gr.Button("🎲 Randomize seed")
|
| 394 |
|
| 395 |
gr.Examples(
|
| 396 |
examples=[
|
| 397 |
-
["examples/bg_landscape.jpg", "examples/obj_ducks.jpg", 0.55, 0.70, 0.28, 42, 2.0,
|
| 398 |
-
["examples/bg_tent.jpg", "examples/obj_dog.jpg", 0.45, 0.68, 0.30, 7, 2.0,
|
| 399 |
-
["examples/bg_beach.jpg", "examples/obj_cake.jpg", 0.50, 0.72, 0.22, 123, 2.5,
|
| 400 |
],
|
| 401 |
inputs=[bg_input, obj_input, cx, cy, scale, seed, ref_scale, steps],
|
| 402 |
outputs=[out_result, out_preview],
|
|
|
|
| 269 |
# ----------------------------------------------------------------------------
|
| 270 |
|
| 271 |
def _estimate_duration(bg, obj, cx, cy, scale, seed, ref_scale, steps, *a, **k):
|
| 272 |
+
# Measured ~12 s/step at 1024 when reference guidance is on (CFG doubles the
|
| 273 |
+
# forward pass); ~half that when it is off. Plus fixed overhead for VAE /
|
| 274 |
+
# rembg / cold worker init.
|
| 275 |
try:
|
| 276 |
steps = int(steps)
|
| 277 |
except Exception:
|
| 278 |
+
steps = 16
|
| 279 |
+
try:
|
| 280 |
+
ref_on = float(ref_scale) > 1.0
|
| 281 |
+
except Exception:
|
| 282 |
+
ref_on = True
|
| 283 |
+
per_step = 12.5 if ref_on else 6.5
|
| 284 |
+
return int(min(600, 45 + steps * per_step))
|
| 285 |
|
| 286 |
|
| 287 |
@spaces.GPU(duration=_estimate_duration)
|
|
|
|
| 396 |
scale = gr.Slider(0.05, 0.9, value=0.35, step=0.01, label="Object size")
|
| 397 |
with gr.Row():
|
| 398 |
ref_scale = gr.Slider(1.0, 5.0, value=2.0, step=0.1, label="Reference guidance scale")
|
| 399 |
+
steps = gr.Slider(12, 28, value=16, step=1, label="Inference steps")
|
| 400 |
seed = gr.Number(label="Seed", value=42, precision=0)
|
| 401 |
rand_btn = gr.Button("🎲 Randomize seed")
|
| 402 |
|
| 403 |
gr.Examples(
|
| 404 |
examples=[
|
| 405 |
+
["examples/bg_landscape.jpg", "examples/obj_ducks.jpg", 0.55, 0.70, 0.28, 42, 2.0, 16],
|
| 406 |
+
["examples/bg_tent.jpg", "examples/obj_dog.jpg", 0.45, 0.68, 0.30, 7, 2.0, 16],
|
| 407 |
+
["examples/bg_beach.jpg", "examples/obj_cake.jpg", 0.50, 0.72, 0.22, 123, 2.5, 16],
|
| 408 |
],
|
| 409 |
inputs=[bg_input, obj_input, cx, cy, scale, seed, ref_scale, steps],
|
| 410 |
outputs=[out_result, out_preview],
|