From aa07a4f1f8538eec2fcb5f6bffa2353f43d0bad5 Mon Sep 17 00:00:00 2001 From: David Huggins-Daines Date: Wed, 8 Jan 2025 14:50:06 -0500 Subject: [PATCH 1/3] fix: update ONNX provider search and warn if GPU will not be used --- unstructured_inference/models/yolox.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/unstructured_inference/models/yolox.py b/unstructured_inference/models/yolox.py index 8e57843d..addc813e 100644 --- a/unstructured_inference/models/yolox.py +++ b/unstructured_inference/models/yolox.py @@ -4,9 +4,9 @@ # https://github.com/Megvii-BaseDetection/YOLOX/blob/ac379df3c97d1835ebd319afad0c031c36d03f36/yolox/utils/demo_utils.py import cv2 +import logging import numpy as np import onnxruntime -from onnxruntime.capi import _pybind_state as C from PIL import Image as PILImage from unstructured_inference.constants import ElementType, Source @@ -20,6 +20,7 @@ download_if_needed_and_get_local_path, ) +logger = logging.getLogger(__name__) YOLOX_LABEL_MAP = { 0: ElementType.CAPTION, 1: ElementType.FOOTNOTE, @@ -72,13 +73,18 @@ def initialize(self, model_path: str, label_map: dict): """Start inference session for YoloX model.""" self.model_path = model_path - available_providers = C.get_available_providers() + available_providers = onnxruntime.get_available_providers() ordered_providers = [ "TensorrtExecutionProvider", "CUDAExecutionProvider", "CPUExecutionProvider", ] providers = [provider for provider in ordered_providers if provider in available_providers] + logger.info("Available ONNX runtime providers: %r", providers) + if "CUDAExecutionProvider" not in providers: + logger.info("If you expected to see CUDAExecutionProvider and it is not there, " + "you may need to install the appropriate version of onnxruntime-gpu " + "for your CUDA toolkit.") self.model = onnxruntime.InferenceSession( model_path, From 86806044562a49042174d228ed010b3eaab3891b Mon Sep 17 00:00:00 2001 From: David Huggins-Daines Date: Tue, 11 Feb 2025 21:30:26 -0500 Subject: [PATCH 2/3] fix: use unstructured_inference logger --- unstructured_inference/models/yolox.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unstructured_inference/models/yolox.py b/unstructured_inference/models/yolox.py index addc813e..bd249dbc 100644 --- a/unstructured_inference/models/yolox.py +++ b/unstructured_inference/models/yolox.py @@ -11,6 +11,7 @@ from unstructured_inference.constants import ElementType, Source from unstructured_inference.inference.layoutelement import LayoutElements +from unstructured_inference.logger import logger from unstructured_inference.models.unstructuredmodel import ( UnstructuredObjectDetectionModel, ) @@ -20,7 +21,6 @@ download_if_needed_and_get_local_path, ) -logger = logging.getLogger(__name__) YOLOX_LABEL_MAP = { 0: ElementType.CAPTION, 1: ElementType.FOOTNOTE, From cc334dcf0867884342c18787f7f462dc59dac309 Mon Sep 17 00:00:00 2001 From: David Huggins-Daines Date: Tue, 11 Feb 2025 21:31:23 -0500 Subject: [PATCH 3/3] fix: remove unused import --- unstructured_inference/models/yolox.py | 1 - 1 file changed, 1 deletion(-) diff --git a/unstructured_inference/models/yolox.py b/unstructured_inference/models/yolox.py index bd249dbc..59a915bc 100644 --- a/unstructured_inference/models/yolox.py +++ b/unstructured_inference/models/yolox.py @@ -4,7 +4,6 @@ # https://github.com/Megvii-BaseDetection/YOLOX/blob/ac379df3c97d1835ebd319afad0c031c36d03f36/yolox/utils/demo_utils.py import cv2 -import logging import numpy as np import onnxruntime from PIL import Image as PILImage