mirror of
https://github.com/hacksider/Deep-Live-Cam.git
synced 2025-03-28 18:51:57 +01:00
Make Face Enhancer Model device Conditional
This commit is contained in:
parent
4bb979faf0
commit
c240f6e31c
@ -9,6 +9,8 @@ import modules.processors.frame.core
|
|||||||
from modules.core import update_status
|
from modules.core import update_status
|
||||||
from modules.face_analyser import get_one_face
|
from modules.face_analyser import get_one_face
|
||||||
from modules.typing import Frame, Face
|
from modules.typing import Frame, Face
|
||||||
|
import platform
|
||||||
|
import torch
|
||||||
from modules.utilities import (
|
from modules.utilities import (
|
||||||
conditional_download,
|
conditional_download,
|
||||||
is_image,
|
is_image,
|
||||||
@ -21,7 +23,10 @@ THREAD_LOCK = threading.Lock()
|
|||||||
NAME = "DLC.FACE-ENHANCER"
|
NAME = "DLC.FACE-ENHANCER"
|
||||||
|
|
||||||
abs_dir = os.path.dirname(os.path.abspath(__file__))
|
abs_dir = os.path.dirname(os.path.abspath(__file__))
|
||||||
models_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(abs_dir))), 'models')
|
models_dir = os.path.join(
|
||||||
|
os.path.dirname(os.path.dirname(os.path.dirname(abs_dir))), "models"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def pre_check() -> bool:
|
def pre_check() -> bool:
|
||||||
download_directory_path = models_dir
|
download_directory_path = models_dir
|
||||||
@ -48,8 +53,14 @@ def get_face_enhancer() -> Any:
|
|||||||
|
|
||||||
with THREAD_LOCK:
|
with THREAD_LOCK:
|
||||||
if FACE_ENHANCER is None:
|
if FACE_ENHANCER is None:
|
||||||
model_path = os.path.join(models_dir, 'GFPGANv1.4.pth')
|
model_path = os.path.join(models_dir, "GFPGANv1.4.pth")
|
||||||
FACE_ENHANCER = gfpgan.GFPGANer(model_path=model_path, upscale=1) # type: ignore[attr-defined]
|
if platform.system() == "Darwin": # Mac OS
|
||||||
|
mps_device = None
|
||||||
|
if torch.backends.mps.is_available():
|
||||||
|
mps_device = torch.device("mps")
|
||||||
|
FACE_ENHANCER = gfpgan.GFPGANer(model_path=model_path, upscale=1, device=mps_device) # type: ignore[attr-defined]
|
||||||
|
else: # Other OS
|
||||||
|
FACE_ENHANCER = gfpgan.GFPGANer(model_path=model_path, upscale=1) # type: ignore[attr-defined]
|
||||||
return FACE_ENHANCER
|
return FACE_ENHANCER
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user