From c28db0aa5bad353b8d812981d76f6b0b414aa195 Mon Sep 17 00:00:00 2001 From: hlky Date: Thu, 2 Jan 2025 21:06:51 +0000 Subject: [PATCH] Fix AutoPipeline `from_pipe` where source pipeline is missing target pipeline's optional components (#10400) * Optional components in AutoPipeline * missing_modules --------- Co-authored-by: YiYi Xu --- src/diffusers/pipelines/auto_pipeline.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/diffusers/pipelines/auto_pipeline.py b/src/diffusers/pipelines/auto_pipeline.py index f3a05c2c66..a3e2fc6de7 100644 --- a/src/diffusers/pipelines/auto_pipeline.py +++ b/src/diffusers/pipelines/auto_pipeline.py @@ -528,7 +528,9 @@ class AutoPipelineForText2Image(ConfigMixin): if k not in text_2_image_kwargs } - missing_modules = set(expected_modules) - set(pipeline._optional_components) - set(text_2_image_kwargs.keys()) + missing_modules = ( + set(expected_modules) - set(text_2_image_cls._optional_components) - set(text_2_image_kwargs.keys()) + ) if len(missing_modules) > 0: raise ValueError( @@ -838,7 +840,9 @@ class AutoPipelineForImage2Image(ConfigMixin): if k not in image_2_image_kwargs } - missing_modules = set(expected_modules) - set(pipeline._optional_components) - set(image_2_image_kwargs.keys()) + missing_modules = ( + set(expected_modules) - set(image_2_image_cls._optional_components) - set(image_2_image_kwargs.keys()) + ) if len(missing_modules) > 0: raise ValueError( @@ -1141,7 +1145,9 @@ class AutoPipelineForInpainting(ConfigMixin): if k not in inpainting_kwargs } - missing_modules = set(expected_modules) - set(pipeline._optional_components) - set(inpainting_kwargs.keys()) + missing_modules = ( + set(expected_modules) - set(inpainting_cls._optional_components) - set(inpainting_kwargs.keys()) + ) if len(missing_modules) > 0: raise ValueError(