diff --git a/ldm/invoke/generator/diffusers_pipeline.py b/ldm/invoke/generator/diffusers_pipeline.py index 8f2b4901b8..e1a4b120c7 100644 --- a/ldm/invoke/generator/diffusers_pipeline.py +++ b/ldm/invoke/generator/diffusers_pipeline.py @@ -10,6 +10,7 @@ import einops import torch import torchvision.transforms as T from diffusers.models import attention +from diffusers.utils.import_utils import is_xformers_available from ...models.diffusion import cross_attention_control @@ -239,6 +240,9 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): self.invokeai_diffuser = InvokeAIDiffuserComponent(self.unet, self._unet_forward) self.embedding_manager = EmbeddingManager(self.clip_embedder, **_default_personalization_config_params) + if is_xformers_available(): + self.enable_xformers_memory_efficient_attention() + def image_from_embeddings(self, latents: torch.Tensor, num_inference_steps: int, text_embeddings: torch.Tensor, unconditioned_embeddings: torch.Tensor, guidance_scale: float,