From 6dc6486565ea1d8d1be567eefc1094e9185560a1 Mon Sep 17 00:00:00 2001 From: Sayak Paul Date: Fri, 13 Sep 2024 07:31:53 +0530 Subject: [PATCH] [LoRA] fix adapter movement when using DoRA. (#9411) fix adapter movement when using DoRA. --- src/diffusers/loaders/lora_base.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/diffusers/loaders/lora_base.py b/src/diffusers/loaders/lora_base.py index 4b963270427b..89bb498a3acd 100644 --- a/src/diffusers/loaders/lora_base.py +++ b/src/diffusers/loaders/lora_base.py @@ -699,9 +699,10 @@ def set_lora_device(self, adapter_names: List[str], device: Union[torch.device, module.lora_B[adapter_name].to(device) # this is a param, not a module, so device placement is not in-place -> re-assign if hasattr(module, "lora_magnitude_vector") and module.lora_magnitude_vector is not None: - module.lora_magnitude_vector[adapter_name] = module.lora_magnitude_vector[ - adapter_name - ].to(device) + if adapter_name in module.lora_magnitude_vector: + module.lora_magnitude_vector[adapter_name] = module.lora_magnitude_vector[ + adapter_name + ].to(device) @staticmethod def pack_weights(layers, prefix):