From 651630ba1f0956717d4481d8d00dd3a57e1defd0 Mon Sep 17 00:00:00 2001 From: Uros Petkovic Date: Wed, 23 Apr 2025 15:24:25 +0200 Subject: [PATCH 1/6] Fixing missing provider options argument --- src/diffusers/pipelines/onnx_utils.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/diffusers/pipelines/onnx_utils.py b/src/diffusers/pipelines/onnx_utils.py index 0e12340f6895..28610e837fa1 100644 --- a/src/diffusers/pipelines/onnx_utils.py +++ b/src/diffusers/pipelines/onnx_utils.py @@ -76,7 +76,7 @@ def load_model(path: Union[str, Path], provider=None, sess_options=None, provide provider = "CPUExecutionProvider" return ort.InferenceSession( - path, providers=[provider], sess_options=sess_options, provider_options=provider_options + path, providers=[provider], sess_options=sess_options, provider_options=[provider_options] ) def _save_pretrained(self, save_directory: Union[str, Path], file_name: Optional[str] = None, **kwargs): @@ -174,7 +174,7 @@ def _from_pretrained( # load model from local directory if os.path.isdir(model_id): model = OnnxRuntimeModel.load_model( - Path(model_id, model_file_name).as_posix(), provider=provider, sess_options=sess_options + Path(model_id, model_file_name).as_posix(), provider=provider, sess_options=sess_options, provider_options=kwargs.get("provider_options") ) kwargs["model_save_dir"] = Path(model_id) # load model from hub @@ -190,7 +190,7 @@ def _from_pretrained( ) kwargs["model_save_dir"] = Path(model_cache_path).parent kwargs["latest_model_name"] = Path(model_cache_path).name - model = OnnxRuntimeModel.load_model(model_cache_path, provider=provider, sess_options=sess_options) + model = OnnxRuntimeModel.load_model(model_cache_path, provider=provider, sess_options=sess_options, provider_options=kwargs.get("provider_options")) return cls(model=model, **kwargs) @classmethod From 37c5e65d915727869fecd28030215f2f280186c7 Mon Sep 17 00:00:00 2001 From: Uros Petkovic Date: Wed, 23 Apr 2025 17:59:26 -0600 Subject: [PATCH 2/6] Adding if else for provider options --- src/diffusers/pipelines/onnx_utils.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/diffusers/pipelines/onnx_utils.py b/src/diffusers/pipelines/onnx_utils.py index 28610e837fa1..2f4c6f2bd3a1 100644 --- a/src/diffusers/pipelines/onnx_utils.py +++ b/src/diffusers/pipelines/onnx_utils.py @@ -75,8 +75,13 @@ def load_model(path: Union[str, Path], provider=None, sess_options=None, provide logger.info("No onnxruntime provider specified, using CPUExecutionProvider") provider = "CPUExecutionProvider" + if provider_options is None: + provider_options = [] + else: + provider_options = [provider_options] + return ort.InferenceSession( - path, providers=[provider], sess_options=sess_options, provider_options=[provider_options] + path, providers=[provider], sess_options=sess_options, provider_options=provider_options ) def _save_pretrained(self, save_directory: Union[str, Path], file_name: Optional[str] = None, **kwargs): From 1887138ee6ab38bd81a7122818a70e2ce7f9c1de Mon Sep 17 00:00:00 2001 From: Sayak Paul Date: Mon, 28 Apr 2025 23:25:02 +0800 Subject: [PATCH 3/6] Apply suggestions from code review Co-authored-by: YiYi Xu --- src/diffusers/pipelines/onnx_utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/diffusers/pipelines/onnx_utils.py b/src/diffusers/pipelines/onnx_utils.py index 2f4c6f2bd3a1..e91e05f9ed53 100644 --- a/src/diffusers/pipelines/onnx_utils.py +++ b/src/diffusers/pipelines/onnx_utils.py @@ -77,7 +77,8 @@ def load_model(path: Union[str, Path], provider=None, sess_options=None, provide if provider_options is None: provider_options = [] - else: + elif not isinstance(provider_options, list): + provider_options = [provider_options] return ort.InferenceSession( From 100959025b43f4080d464167fb7f45cee01fe131 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 28 Apr 2025 16:18:14 +0000 Subject: [PATCH 4/6] Apply style fixes --- src/diffusers/pipelines/onnx_utils.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/diffusers/pipelines/onnx_utils.py b/src/diffusers/pipelines/onnx_utils.py index e91e05f9ed53..fe16e62213f5 100644 --- a/src/diffusers/pipelines/onnx_utils.py +++ b/src/diffusers/pipelines/onnx_utils.py @@ -78,7 +78,6 @@ def load_model(path: Union[str, Path], provider=None, sess_options=None, provide if provider_options is None: provider_options = [] elif not isinstance(provider_options, list): - provider_options = [provider_options] return ort.InferenceSession( @@ -180,7 +179,10 @@ def _from_pretrained( # load model from local directory if os.path.isdir(model_id): model = OnnxRuntimeModel.load_model( - Path(model_id, model_file_name).as_posix(), provider=provider, sess_options=sess_options, provider_options=kwargs.get("provider_options") + Path(model_id, model_file_name).as_posix(), + provider=provider, + sess_options=sess_options, + provider_options=kwargs.get("provider_options"), ) kwargs["model_save_dir"] = Path(model_id) # load model from hub @@ -196,7 +198,12 @@ def _from_pretrained( ) kwargs["model_save_dir"] = Path(model_cache_path).parent kwargs["latest_model_name"] = Path(model_cache_path).name - model = OnnxRuntimeModel.load_model(model_cache_path, provider=provider, sess_options=sess_options, provider_options=kwargs.get("provider_options")) + model = OnnxRuntimeModel.load_model( + model_cache_path, + provider=provider, + sess_options=sess_options, + provider_options=kwargs.get("provider_options"), + ) return cls(model=model, **kwargs) @classmethod From f97dca746a7ba0e70f81e94f7bdfbdd9f3a9c593 Mon Sep 17 00:00:00 2001 From: urpetkov-amd <127323899+urpetkov-amd@users.noreply.github.com> Date: Mon, 28 Apr 2025 18:55:01 +0200 Subject: [PATCH 5/6] Update src/diffusers/pipelines/onnx_utils.py Co-authored-by: YiYi Xu --- src/diffusers/pipelines/onnx_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/diffusers/pipelines/onnx_utils.py b/src/diffusers/pipelines/onnx_utils.py index fe16e62213f5..183520089e3c 100644 --- a/src/diffusers/pipelines/onnx_utils.py +++ b/src/diffusers/pipelines/onnx_utils.py @@ -202,7 +202,7 @@ def _from_pretrained( model_cache_path, provider=provider, sess_options=sess_options, - provider_options=kwargs.get("provider_options"), + provider_options=kwargs.pop("provider_options"), ) return cls(model=model, **kwargs) From 2b7cc652b5517d67c17ffb8e2268666c3fe95570 Mon Sep 17 00:00:00 2001 From: urpetkov-amd <127323899+urpetkov-amd@users.noreply.github.com> Date: Mon, 28 Apr 2025 18:55:11 +0200 Subject: [PATCH 6/6] Update src/diffusers/pipelines/onnx_utils.py Co-authored-by: YiYi Xu --- src/diffusers/pipelines/onnx_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/diffusers/pipelines/onnx_utils.py b/src/diffusers/pipelines/onnx_utils.py index 183520089e3c..74e9f0b97800 100644 --- a/src/diffusers/pipelines/onnx_utils.py +++ b/src/diffusers/pipelines/onnx_utils.py @@ -182,7 +182,7 @@ def _from_pretrained( Path(model_id, model_file_name).as_posix(), provider=provider, sess_options=sess_options, - provider_options=kwargs.get("provider_options"), + provider_options=kwargs.pop("provider_options"), ) kwargs["model_save_dir"] = Path(model_id) # load model from hub