From 617f619fa68778eef6bb76b714cb788688211782 Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Sun, 28 Sep 2025 18:17:34 -0700 Subject: [PATCH 1/2] Fix ONNX init ORTPipelinePart was only used from optimum versions 1.23.0 through 1.25.3 --- modules/onnx_impl/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/onnx_impl/__init__.py b/modules/onnx_impl/__init__.py index a68df434e..94a2e8bc6 100644 --- a/modules/onnx_impl/__init__.py +++ b/modules/onnx_impl/__init__.py @@ -241,7 +241,10 @@ def initialize_onnx(): diffusers.ORTStableDiffusionXLPipeline = diffusers.OnnxStableDiffusionXLPipeline # Huggingface model compatibility diffusers.ORTStableDiffusionXLImg2ImgPipeline = diffusers.OnnxStableDiffusionXLImg2ImgPipeline - optimum.onnxruntime.modeling_diffusion.ORTPipelinePart.to = ORTDiffusionModelPart_to # pylint: disable=protected-access + from importlib.metadata import version + opt_ver = version('optimum').split('.') + if opt_ver[0] == "1" and 23 <= int(opt_ver[1]) < 26: + optimum.onnxruntime.modeling_diffusion.ORTPipelinePart.to = ORTDiffusionModelPart_to # pylint: disable=protected-access fastapi_encoders.jsonable_encoder = jsonable_encoder From 5d055dd43eab0913f94ffafb1b6c5dae912438d7 Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Mon, 6 Oct 2025 00:13:22 -0700 Subject: [PATCH 2/2] Minor code cleanup - Add comment to explain why the extra logic steps are here. - Import "version" as "pkg_ver" to make sure nobody mixes it up with the "__version__" a few lines later. --- modules/onnx_impl/__init__.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/onnx_impl/__init__.py b/modules/onnx_impl/__init__.py index 94a2e8bc6..8177dd213 100644 --- a/modules/onnx_impl/__init__.py +++ b/modules/onnx_impl/__init__.py @@ -241,8 +241,9 @@ def initialize_onnx(): diffusers.ORTStableDiffusionXLPipeline = diffusers.OnnxStableDiffusionXLPipeline # Huggingface model compatibility diffusers.ORTStableDiffusionXLImg2ImgPipeline = diffusers.OnnxStableDiffusionXLImg2ImgPipeline - from importlib.metadata import version - opt_ver = version('optimum').split('.') + # ORTPipelinePart was only used from optimum versions 1.23.0 through 1.25.3 + from importlib.metadata import version as pkg_ver + opt_ver = pkg_ver('optimum').split('.') if opt_ver[0] == "1" and 23 <= int(opt_ver[1]) < 26: optimum.onnxruntime.modeling_diffusion.ORTPipelinePart.to = ORTDiffusionModelPart_to # pylint: disable=protected-access