Spaces:
Running
on
L40S
Running
on
L40S
Update app.py
Browse files
app.py
CHANGED
@@ -48,6 +48,7 @@ import torch
|
|
48 |
import numpy as np
|
49 |
from PIL import Image
|
50 |
import cv2
|
|
|
51 |
import tempfile
|
52 |
import moviepy.editor as mp
|
53 |
from facexlib.utils.face_restoration_helper import FaceRestoreHelper
|
@@ -64,6 +65,11 @@ from diffusers.models import AutoencoderKLCogVideoX
|
|
64 |
from transformers import SiglipImageProcessor, SiglipVisionModel
|
65 |
from diffposetalk.diffposetalk import DiffPoseTalk
|
66 |
|
|
|
|
|
|
|
|
|
|
|
67 |
|
68 |
# Helper functions from the original script
|
69 |
def parse_video(driving_frames, max_frame_num, fps=25):
|
@@ -284,6 +290,7 @@ def process_image_audio(image_path, audio_path, guidance_scale=3.0, steps=10, pr
|
|
284 |
comparison_with_audio = save_video_with_audio(comparison_path, audio_path, comparison_with_audio)
|
285 |
|
286 |
progress(1.0, desc="Done!")
|
|
|
287 |
return result_path, comparison_with_audio
|
288 |
|
289 |
# Create Gradio interface
|
|
|
48 |
import numpy as np
|
49 |
from PIL import Image
|
50 |
import cv2
|
51 |
+
import gc
|
52 |
import tempfile
|
53 |
import moviepy.editor as mp
|
54 |
from facexlib.utils.face_restoration_helper import FaceRestoreHelper
|
|
|
65 |
from transformers import SiglipImageProcessor, SiglipVisionModel
|
66 |
from diffposetalk.diffposetalk import DiffPoseTalk
|
67 |
|
68 |
+
def cleanup_resources():
|
69 |
+
"""Clear CUDA cache and garbage collect"""
|
70 |
+
if torch.cuda.is_available():
|
71 |
+
torch.cuda.empty_cache()
|
72 |
+
gc.collect()
|
73 |
|
74 |
# Helper functions from the original script
|
75 |
def parse_video(driving_frames, max_frame_num, fps=25):
|
|
|
290 |
comparison_with_audio = save_video_with_audio(comparison_path, audio_path, comparison_with_audio)
|
291 |
|
292 |
progress(1.0, desc="Done!")
|
293 |
+
cleanup_resources
|
294 |
return result_path, comparison_with_audio
|
295 |
|
296 |
# Create Gradio interface
|