Catch openvino error

This commit is contained in:
Nicolas Mowen 2024-11-04 05:34:51 -07:00
parent 156e7cc628
commit 6a166090ed

View File

@ -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,8 +92,10 @@ 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:
try:
# use OpenVINO directly # use OpenVINO directly
self.type = "ov" self.type = "ov"
self.ov = ov.Core() self.ov = ov.Core()
@ -100,8 +105,14 @@ class ONNXModelRunner:
self.interpreter = self.ov.compile_model( self.interpreter = self.ov.compile_model(
model=model_path, device_name=device model=model_path, device_name=device
) )
else: except Exception as e:
logger.warning(
f"OpenVINO failed to build model, using CPU instead: {e}"
)
self.interpreter = None
# Use ONNXRuntime # 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,