Fabrice-TIERCELIN commited on
Commit
2245486
·
verified ·
1 Parent(s): 85b4daf

yield None

Browse files
Files changed (1) hide show
  1. app_endframe.py +41 -2
app_endframe.py CHANGED
@@ -666,8 +666,47 @@ def get_duration(input_video, end_frame, end_frame_weight, prompt, n_prompt, see
666
  return total_second_length * 60
667
 
668
  def process_example(input_video, end_frame, end_frame_weight, prompt, n_prompt, seed, batch, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, use_teacache, no_resize, mp4_crf, num_clean_frames, vae_batch):
669
- outputs = process(input_video, end_frame, end_frame_weight, prompt, n_prompt, seed, batch, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, use_teacache, no_resize, mp4_crf, num_clean_frames, vae_batch)
670
- return outputs[0]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
671
 
672
  @spaces.GPU(duration=get_duration)
673
  def process(input_video, end_frame, end_frame_weight, prompt, n_prompt, seed, batch, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, use_teacache, no_resize, mp4_crf, num_clean_frames, vae_batch):
 
666
  return total_second_length * 60
667
 
668
  def process_example(input_video, end_frame, end_frame_weight, prompt, n_prompt, seed, batch, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, use_teacache, no_resize, mp4_crf, num_clean_frames, vae_batch):
669
+ global stream, high_vram
670
+ # 20250506 pftq: Updated assertion for video input
671
+ assert input_video is not None, 'No input video!'
672
+
673
+ yield None
674
+
675
+ # 20250507 pftq: Even the H100 needs offloading if the video dimensions are 720p or higher
676
+ if high_vram and (no_resize or resolution>640):
677
+ print("Disabling high vram mode due to no resize and/or potentially higher resolution...")
678
+ high_vram = False
679
+ vae.enable_slicing()
680
+ vae.enable_tiling()
681
+ DynamicSwapInstaller.install_model(transformer, device=gpu)
682
+ DynamicSwapInstaller.install_model(text_encoder, device=gpu)
683
+
684
+ # 20250508 pftq: automatically set distilled cfg to 1 if cfg is used
685
+ if cfg > 1:
686
+ gs = 1
687
+
688
+ stream = AsyncStream()
689
+
690
+ # 20250506 pftq: Pass num_clean_frames, vae_batch, etc
691
+ async_run(worker, input_video, end_frame, end_frame_weight, prompt, n_prompt, seed, batch, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, use_teacache, no_resize, mp4_crf, num_clean_frames, vae_batch)
692
+
693
+ output_filename = None
694
+
695
+ while True:
696
+ flag, data = stream.output_queue.next()
697
+
698
+ if flag == 'file':
699
+ output_filename = data
700
+ yield output_filename
701
+
702
+ if flag == 'progress':
703
+ preview, desc, html = data
704
+ #yield gr.update(), gr.update(visible=True, value=preview), desc, html, gr.update(interactive=False), gr.update(interactive=True)
705
+ yield output_filename
706
+
707
+ if flag == 'end':
708
+ yield output_filename
709
+ break
710
 
711
  @spaces.GPU(duration=get_duration)
712
  def process(input_video, end_frame, end_frame_weight, prompt, n_prompt, seed, batch, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, use_teacache, no_resize, mp4_crf, num_clean_frames, vae_batch):