From 52a9bdf2b93b29bd4238412515f314a50804d96b Mon Sep 17 00:00:00 2001 From: Chirayu Rai Date: Mon, 17 Mar 2025 16:25:57 -0700 Subject: [PATCH] Made it so openvino prioritizes using GPU and NPU over CPU --- frigate/detectors/plugins/degirum.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/frigate/detectors/plugins/degirum.py b/frigate/detectors/plugins/degirum.py index b40841959..fa643c510 100644 --- a/frigate/detectors/plugins/degirum.py +++ b/frigate/detectors/plugins/degirum.py @@ -90,6 +90,17 @@ class DGDetector(DetectionApi): self.dg_model = self._zoo.load_model( detector_config.model.path, non_blocking_batch_predict=True ) + # Openvino tends to have multidevice, and they default to CPU rather than GPU or NPU + types = self.dg_model.supported_device_types + for type in types: + # If openvino is supported, prioritize using gpu, then npu, then cpu + if "OPENVINO" in type: + self.dg_model.device_type = [ + "OPENVINO/GPU", + "OPENVINO/NPU", + "OPENVINO/CPU", + ] + break self.model_height = detector_config.model.height self.model_width = detector_config.model.width self.predict_batch = self.dg_model.predict_batch(self._queue)