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,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,