mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-16 16:15:22 +03:00
Catch openvino error
This commit is contained in:
parent
156e7cc628
commit
6a166090ed
@ -1,5 +1,6 @@
|
|||||||
"""Model Utils"""
|
"""Model Utils"""
|
||||||
|
|
||||||
|
import logging
|
||||||
import os
|
import os
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
@ -11,6 +12,8 @@ except ImportError:
|
|||||||
# openvino is not included
|
# openvino is not included
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def get_ort_providers(
|
def get_ort_providers(
|
||||||
force_cpu: bool = False, device: str = "AUTO", requires_fp16: bool = False
|
force_cpu: bool = False, device: str = "AUTO", requires_fp16: bool = False
|
||||||
@ -89,19 +92,27 @@ class ONNXModelRunner:
|
|||||||
self.ort: ort.InferenceSession = None
|
self.ort: ort.InferenceSession = None
|
||||||
self.ov: ov.Core = None
|
self.ov: ov.Core = None
|
||||||
providers, options = get_ort_providers(device == "CPU", device, requires_fp16)
|
providers, options = get_ort_providers(device == "CPU", device, requires_fp16)
|
||||||
|
self.interpreter = None
|
||||||
|
|
||||||
if "OpenVINOExecutionProvider" in providers:
|
if "OpenVINOExecutionProvider" in providers:
|
||||||
# use OpenVINO directly
|
try:
|
||||||
self.type = "ov"
|
# use OpenVINO directly
|
||||||
self.ov = ov.Core()
|
self.type = "ov"
|
||||||
self.ov.set_property(
|
self.ov = ov.Core()
|
||||||
{ov.properties.cache_dir: "/config/model_cache/openvino"}
|
self.ov.set_property(
|
||||||
)
|
{ov.properties.cache_dir: "/config/model_cache/openvino"}
|
||||||
self.interpreter = self.ov.compile_model(
|
)
|
||||||
model=model_path, device_name=device
|
self.interpreter = self.ov.compile_model(
|
||||||
)
|
model=model_path, device_name=device
|
||||||
else:
|
)
|
||||||
# Use ONNXRuntime
|
except Exception as e:
|
||||||
|
logger.warning(
|
||||||
|
f"OpenVINO failed to build model, using CPU instead: {e}"
|
||||||
|
)
|
||||||
|
self.interpreter = None
|
||||||
|
|
||||||
|
# Use ONNXRuntime
|
||||||
|
if self.interpreter is None:
|
||||||
self.type = "ort"
|
self.type = "ort"
|
||||||
self.ort = ort.InferenceSession(
|
self.ort = ort.InferenceSession(
|
||||||
model_path,
|
model_path,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user