From 10cbb2bc58ca0b75b3f8fa306793c369a6d53d87 Mon Sep 17 00:00:00 2001 From: Shivam Singhal Date: Wed, 28 Aug 2024 16:04:09 +0530 Subject: [PATCH] fix: fp16 changes --- deepface/models/facial_recognition/Facenet.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/deepface/models/facial_recognition/Facenet.py b/deepface/models/facial_recognition/Facenet.py index 29cb571..b61de59 100644 --- a/deepface/models/facial_recognition/Facenet.py +++ b/deepface/models/facial_recognition/Facenet.py @@ -83,7 +83,7 @@ class FaceNet512dONNXClient(FacialRecognition): def forward(self, img: np.ndarray) -> List[float]: input_name = self.model.get_inputs()[0].name output_name = self.model.get_outputs()[0].name - result = self.model.run([output_name], {input_name: img}) + result = self.model.run([output_name], {input_name: img.astype(np.float16)}) return result[0][0].tolist() @@ -1734,7 +1734,7 @@ def load_facenet512d_model( def load_facenet512d_onnx_model( - url="https://github.com/ShivamSinghal1/deepface/releases/download/v1/facenet512_fp32.onnx", + url="https://github.com/ShivamSinghal1/deepface/releases/download/v1/facenet512_fp16.onnx", ) -> Any: """ Download Facenet512d ONNX model weights and load @@ -1753,7 +1753,17 @@ def load_facenet512d_onnx_model( if torch.cuda.is_available(): logger.info("using onnx GPU for inference") - providers = ['CUDAExecutionProvider', 'CPUExecutionProvider'] + providers = [ + ('CUDAExecutionProvider', { + 'arena_extend_strategy': 'kNextPowerOfTwo', + 'cudnn_conv_algo_search': 'EXHAUSTIVE', + 'do_copy_in_default_stream': True, + 'cudnn_conv_use_max_workspace': '1', + 'cudnn_conv1d_pad_to_nc1d': '1', + 'enable_cuda_graph': '1' + }), + 'CPUExecutionProvider', + ] else: providers = ['CPUExecutionProvider']