From 3d8733812b7b5db1fcfd38fec95b739d9d6e11c2 Mon Sep 17 00:00:00 2001 From: aku-ato <111570992+aku-ato@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:12:54 +0100 Subject: [PATCH 1/4] use GPU in fastMtCnn --- deepface/detectors/FastMtCnn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deepface/detectors/FastMtCnn.py b/deepface/detectors/FastMtCnn.py index acc71f18..2df5c4d2 100644 --- a/deepface/detectors/FastMtCnn.py +++ b/deepface/detectors/FastMtCnn.py @@ -68,7 +68,7 @@ def build_model(self) -> Any: "Please install using 'pip install facenet-pytorch' " ) from e - face_detector = fast_mtcnn(device="cpu") + face_detector = fast_mtcnn(device="cuda:0") return face_detector From 2b7c0a708e0c370b631e77db8d7ca3211cb0a47b Mon Sep 17 00:00:00 2001 From: aku-ato <111570992+aku-ato@users.noreply.github.com> Date: Tue, 26 Mar 2024 15:34:03 +0100 Subject: [PATCH 2/4] Conditional use of GPU on FastMtCnn --- deepface/detectors/FastMtCnn.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/deepface/detectors/FastMtCnn.py b/deepface/detectors/FastMtCnn.py index 2df5c4d2..c6a28a02 100644 --- a/deepface/detectors/FastMtCnn.py +++ b/deepface/detectors/FastMtCnn.py @@ -68,7 +68,9 @@ def build_model(self) -> Any: "Please install using 'pip install facenet-pytorch' " ) from e - face_detector = fast_mtcnn(device="cuda:0") + device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') + face_detector = fast_mtcnn(device=device) + return face_detector From 345b6717e22b9ac03a76fb2a527446ca114587c1 Mon Sep 17 00:00:00 2001 From: aku-ato <111570992+aku-ato@users.noreply.github.com> Date: Tue, 26 Mar 2024 18:06:53 +0100 Subject: [PATCH 3/4] Conditional use of GPU on FastMtCnn --- deepface/detectors/FastMtCnn.py | 1 + 1 file changed, 1 insertion(+) diff --git a/deepface/detectors/FastMtCnn.py b/deepface/detectors/FastMtCnn.py index c6a28a02..89b7a38b 100644 --- a/deepface/detectors/FastMtCnn.py +++ b/deepface/detectors/FastMtCnn.py @@ -2,6 +2,7 @@ import cv2 import numpy as np from deepface.models.Detector import Detector, FacialAreaRegion +import torch # Link -> https://github.com/timesler/facenet-pytorch # Examples https://www.kaggle.com/timesler/guide-to-mtcnn-in-facenet-pytorch From 131a7fb576607fcef621cde96e1793abfab20475 Mon Sep 17 00:00:00 2001 From: aku-ato <111570992+aku-ato@users.noreply.github.com> Date: Fri, 5 Apr 2024 17:26:45 +0200 Subject: [PATCH 4/4] move torch import from global in order to match optional dependency project philosophy --- deepface/detectors/FastMtCnn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deepface/detectors/FastMtCnn.py b/deepface/detectors/FastMtCnn.py index 89b7a38b..ee8e69c1 100644 --- a/deepface/detectors/FastMtCnn.py +++ b/deepface/detectors/FastMtCnn.py @@ -2,7 +2,6 @@ import cv2 import numpy as np from deepface.models.Detector import Detector, FacialAreaRegion -import torch # Link -> https://github.com/timesler/facenet-pytorch # Examples https://www.kaggle.com/timesler/guide-to-mtcnn-in-facenet-pytorch @@ -63,6 +62,7 @@ def build_model(self) -> Any: # this is not a must dependency. do not import it in the global level. try: from facenet_pytorch import MTCNN as fast_mtcnn + import torch except ModuleNotFoundError as e: raise ImportError( "FastMtcnn is an optional detector, ensure the library is installed."