yonigozlan HF Staff commited on
Commit
f38b48d
·
1 Parent(s): 1568073

don't use yield

Browse files
Files changed (1) hide show
  1. app.py +9 -7
app.py CHANGED
@@ -509,7 +509,8 @@ def on_image_click(
509
  @spaces.GPU()
510
  def propagate_masks(GLOBAL_STATE: gr.State):
511
  if GLOBAL_STATE is None or GLOBAL_STATE.inference_session is None:
512
- yield GLOBAL_STATE, "Load a video first.", gr.update()
 
513
 
514
  processor = deepcopy(GLOBAL_STATE.processor)
515
  model = deepcopy(GLOBAL_STATE.model)
@@ -523,7 +524,7 @@ def propagate_masks(GLOBAL_STATE: gr.State):
523
  processed = 0
524
 
525
  # Initial status; no slider change yet
526
- yield GLOBAL_STATE, f"Propagating masks: {processed}/{total}", gr.update()
527
 
528
  last_frame_idx = 0
529
  with torch.inference_mode():
@@ -546,15 +547,16 @@ def propagate_masks(GLOBAL_STATE: gr.State):
546
 
547
  processed += 1
548
  # Every 15th frame (or last), move slider to current frame to update preview via slider binding
549
- if processed % 15 == 0 or processed == total:
550
- yield GLOBAL_STATE, f"Propagating masks: {processed}/{total}", gr.update(value=frame_idx)
551
- else:
552
- yield GLOBAL_STATE, f"Propagating masks: {processed}/{total}", gr.update()
553
 
554
  text = f"Propagated masks across {processed} frames for {len(inference_session.obj_ids)} objects."
555
 
556
  # Final status; ensure slider points to last processed frame
557
- yield GLOBAL_STATE, text, gr.update(value=last_frame_idx)
 
558
 
559
 
560
  def reset_session(GLOBAL_STATE: gr.State) -> tuple[AppState, Image.Image, int, int, str]:
 
509
  @spaces.GPU()
510
  def propagate_masks(GLOBAL_STATE: gr.State):
511
  if GLOBAL_STATE is None or GLOBAL_STATE.inference_session is None:
512
+ # yield GLOBAL_STATE, "Load a video first.", gr.update()
513
+ return GLOBAL_STATE, "Load a video first.", gr.update()
514
 
515
  processor = deepcopy(GLOBAL_STATE.processor)
516
  model = deepcopy(GLOBAL_STATE.model)
 
524
  processed = 0
525
 
526
  # Initial status; no slider change yet
527
+ # yield GLOBAL_STATE, f"Propagating masks: {processed}/{total}", gr.update()
528
 
529
  last_frame_idx = 0
530
  with torch.inference_mode():
 
547
 
548
  processed += 1
549
  # Every 15th frame (or last), move slider to current frame to update preview via slider binding
550
+ # if processed % 15 == 0 or processed == total:
551
+ # yield GLOBAL_STATE, f"Propagating masks: {processed}/{total}", gr.update(value=frame_idx)
552
+ # else:
553
+ # yield GLOBAL_STATE, f"Propagating masks: {processed}/{total}", gr.update()
554
 
555
  text = f"Propagated masks across {processed} frames for {len(inference_session.obj_ids)} objects."
556
 
557
  # Final status; ensure slider points to last processed frame
558
+ # yield GLOBAL_STATE, text, gr.update(value=last_frame_idx)
559
+ return GLOBAL_STATE, text, gr.update(value=last_frame_idx)
560
 
561
 
562
  def reset_session(GLOBAL_STATE: gr.State) -> tuple[AppState, Image.Image, int, int, str]: