fix: resolve GPU memory leak in webui

This commit is contained in:
jlqian98
2026-03-04 13:14:09 +08:00
parent 80f6b302c2
commit 676a4b3f65
+7
View File
@@ -3,6 +3,7 @@ import random
import shutil import shutil
import sys import sys
import traceback import traceback
import gc
from datetime import datetime from datetime import datetime
from pathlib import Path from pathlib import Path
from typing import Literal, Tuple from typing import Literal, Tuple
@@ -310,6 +311,9 @@ class AppState:
max_merge_duration=max_merge_duration, max_merge_duration=max_merge_duration,
language=lyric_lang or "Mandarin", language=lyric_lang or "Mandarin",
) )
gc.collect()
if torch.cuda.is_available():
torch.cuda.empty_cache()
return True, f"preprocess {audio_path} done" return True, f"preprocess {audio_path} done"
except Exception as e: except Exception as e:
return False, f"preprocess failed: {e}" return False, f"preprocess failed: {e}"
@@ -343,6 +347,9 @@ class AppState:
args.control = control args.control = control
try: try:
svs_process(args, self.svs_config, self.svs_model) svs_process(args, self.svs_config, self.svs_model)
gc.collect()
if torch.cuda.is_available():
torch.cuda.empty_cache()
generated = save_dir / "generated.wav" generated = save_dir / "generated.wav"
if not generated.exists(): if not generated.exists():
return False, f"inference finished but {generated} not found", None, prompt_meta_path, target_meta_path return False, f"inference finished but {generated} not found", None, prompt_meta_path, target_meta_path