From 9c5f01c7f11a1d71edefae158e3762c259954fad Mon Sep 17 00:00:00 2001 From: Kenneth Estanislao Date: Fri, 15 May 2026 15:13:57 +0800 Subject: [PATCH] some fix for face enhancers --- .../processors/frame/face_enhancer_gpen256.py | 7 +++++-- .../processors/frame/face_enhancer_gpen512.py | 7 +++++-- run.py | 17 ++++++++++++----- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/modules/processors/frame/face_enhancer_gpen256.py b/modules/processors/frame/face_enhancer_gpen256.py index 57c9536..78d87ac 100644 --- a/modules/processors/frame/face_enhancer_gpen256.py +++ b/modules/processors/frame/face_enhancer_gpen256.py @@ -82,8 +82,11 @@ def enhance_face(temp_frame: Frame, face: Face) -> Frame: return temp_frame -def process_frame(source_face: Face | None, temp_frame: Frame) -> Frame: - target_face = get_one_face(temp_frame) +def process_frame(source_face: Face | None, temp_frame: Frame, detected_faces=None) -> Frame: + if detected_faces: + target_face = detected_faces[0] + else: + target_face = get_one_face(temp_frame) if target_face is None: return temp_frame return enhance_face(temp_frame, target_face) diff --git a/modules/processors/frame/face_enhancer_gpen512.py b/modules/processors/frame/face_enhancer_gpen512.py index 520181c..9a34e1d 100644 --- a/modules/processors/frame/face_enhancer_gpen512.py +++ b/modules/processors/frame/face_enhancer_gpen512.py @@ -82,8 +82,11 @@ def enhance_face(temp_frame: Frame, face: Face) -> Frame: return temp_frame -def process_frame(source_face: Face | None, temp_frame: Frame) -> Frame: - target_face = get_one_face(temp_frame) +def process_frame(source_face: Face | None, temp_frame: Frame, detected_faces=None) -> Frame: + if detected_faces: + target_face = detected_faces[0] + else: + target_face = get_one_face(temp_frame) if target_face is None: return temp_frame return enhance_face(temp_frame, target_face) diff --git a/run.py b/run.py index 4ec59d2..7d22660 100644 --- a/run.py +++ b/run.py @@ -7,22 +7,29 @@ import sys project_root = os.path.dirname(os.path.abspath(__file__)) os.environ["PATH"] = project_root + os.pathsep + os.environ.get("PATH", "") -# On Windows, add NVIDIA CUDA DLL directories to PATH so onnxruntime-gpu can -# find cuDNN/cublas. PyTorch bundles cuDNN in its lib/ dir; pip nvidia-* pkgs -# use bin/. Skipped on macOS/Linux where loader paths handle this. +# On Windows, register NVIDIA CUDA DLL directories so onnxruntime-gpu can +# find cuDNN/cublas. Python 3.8+ ignores PATH for extension-module native deps — +# os.add_dll_directory() is required. Also keep PATH for child processes/ffmpeg. if sys.platform == "win32": _site_packages = os.path.join(sys.prefix, "Lib", "site-packages") _venv_site_packages = os.path.join(project_root, "venv", "Lib", "site-packages") for _sp in (_site_packages, _venv_site_packages): + _candidate_dirs = [] _torch_lib = os.path.join(_sp, "torch", "lib") if os.path.isdir(_torch_lib): - os.environ["PATH"] = _torch_lib + os.pathsep + os.environ["PATH"] + _candidate_dirs.append(_torch_lib) _nvidia_dir = os.path.join(_sp, "nvidia") if os.path.isdir(_nvidia_dir): for _pkg in os.listdir(_nvidia_dir): _bin_dir = os.path.join(_nvidia_dir, _pkg, "bin") if os.path.isdir(_bin_dir): - os.environ["PATH"] = _bin_dir + os.pathsep + os.environ["PATH"] + _candidate_dirs.append(_bin_dir) + for _d in _candidate_dirs: + os.environ["PATH"] = _d + os.pathsep + os.environ["PATH"] + try: + os.add_dll_directory(_d) + except (OSError, AttributeError): + pass # Import the tkinter fix to patch the ScreenChanged error import tkinter_fix