mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-21 19:07:46 +01:00
Update openvino to 2024.3 (#13861)
This commit is contained in:
parent
176af55e8c
commit
61a4a4bc2f
@ -1,3 +1,3 @@
|
|||||||
# ONNX
|
# ONNX
|
||||||
onnxruntime-openvino == 1.18.* ; platform_machine == 'x86_64'
|
onnxruntime-openvino == 1.19.* ; platform_machine == 'x86_64'
|
||||||
onnxruntime == 1.18.* ; platform_machine == 'aarch64'
|
onnxruntime == 1.19.* ; platform_machine == 'aarch64'
|
@ -28,8 +28,8 @@ norfair == 2.2.*
|
|||||||
setproctitle == 1.3.*
|
setproctitle == 1.3.*
|
||||||
ws4py == 0.5.*
|
ws4py == 0.5.*
|
||||||
unidecode == 1.3.*
|
unidecode == 1.3.*
|
||||||
# OpenVino & ONNX
|
# OpenVino (ONNX installed in wheels-post)
|
||||||
openvino == 2024.1.*
|
openvino == 2024.3.*
|
||||||
# Embeddings
|
# Embeddings
|
||||||
chromadb == 0.5.0
|
chromadb == 0.5.0
|
||||||
onnx_clip == 4.0.*
|
onnx_clip == 4.0.*
|
||||||
|
@ -2,6 +2,7 @@ import logging
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
from pydantic import Field
|
||||||
from typing_extensions import Literal
|
from typing_extensions import Literal
|
||||||
|
|
||||||
from frigate.detectors.detection_api import DetectionApi
|
from frigate.detectors.detection_api import DetectionApi
|
||||||
@ -17,6 +18,7 @@ DETECTOR_KEY = "onnx"
|
|||||||
|
|
||||||
class ONNXDetectorConfig(BaseDetectorConfig):
|
class ONNXDetectorConfig(BaseDetectorConfig):
|
||||||
type: Literal[DETECTOR_KEY]
|
type: Literal[DETECTOR_KEY]
|
||||||
|
device: str = Field(default="AUTO", title="Device Type")
|
||||||
|
|
||||||
|
|
||||||
class ONNXDetector(DetectionApi):
|
class ONNXDetector(DetectionApi):
|
||||||
@ -36,7 +38,11 @@ class ONNXDetector(DetectionApi):
|
|||||||
path = detector_config.model.path
|
path = detector_config.model.path
|
||||||
logger.info(f"ONNX: loading {detector_config.model.path}")
|
logger.info(f"ONNX: loading {detector_config.model.path}")
|
||||||
|
|
||||||
providers = ort.get_available_providers()
|
providers = (
|
||||||
|
["CPUExecutionProvider"]
|
||||||
|
if detector_config.device == "CPU"
|
||||||
|
else ort.get_available_providers()
|
||||||
|
)
|
||||||
options = []
|
options = []
|
||||||
|
|
||||||
for provider in providers:
|
for provider in providers:
|
||||||
@ -59,7 +65,7 @@ class ONNXDetector(DetectionApi):
|
|||||||
options.append(
|
options.append(
|
||||||
{
|
{
|
||||||
"cache_dir": "/config/model_cache/openvino/ort",
|
"cache_dir": "/config/model_cache/openvino/ort",
|
||||||
"device_type": "GPU",
|
"device_type": detector_config.device,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
|
@ -30,12 +30,6 @@ class OvDetector(DetectionApi):
|
|||||||
self.h = detector_config.model.height
|
self.h = detector_config.model.height
|
||||||
self.w = detector_config.model.width
|
self.w = detector_config.model.width
|
||||||
|
|
||||||
if detector_config.device == "AUTO":
|
|
||||||
logger.warning(
|
|
||||||
"OpenVINO AUTO device type is not currently supported. Attempting to use GPU instead."
|
|
||||||
)
|
|
||||||
detector_config.device = "GPU"
|
|
||||||
|
|
||||||
if not os.path.isfile(detector_config.model.path):
|
if not os.path.isfile(detector_config.model.path):
|
||||||
logger.error(f"OpenVino model file {detector_config.model.path} not found.")
|
logger.error(f"OpenVino model file {detector_config.model.path} not found.")
|
||||||
raise FileNotFoundError
|
raise FileNotFoundError
|
||||||
|
Loading…
Reference in New Issue
Block a user