multimodalart HF Staff commited on
Commit
1fba98a
·
verified ·
1 Parent(s): 5cc27f2

Upload app.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app.py +14 -6
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 = 28
276
- return min(230, 60 + int(steps * 4.5))
 
 
 
 
 
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(15, 50, value=28, step=1, label="Inference steps")
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, 28],
398
- ["examples/bg_tent.jpg", "examples/obj_dog.jpg", 0.45, 0.68, 0.30, 7, 2.0, 28],
399
- ["examples/bg_beach.jpg", "examples/obj_cake.jpg", 0.50, 0.72, 0.22, 123, 2.5, 30],
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],