From f22c350ded6843a36898db5a76956f849b850caf Mon Sep 17 00:00:00 2001 From: yeonjoon-jung01 Date: Thu, 10 Jul 2025 10:41:44 +0000 Subject: [PATCH] Refactor exclude module derivation in PEFT utilities - Updated the logic in to use a set for exclude modules, improving efficiency and clarity. - Enhanced the filtering process to ensure only relevant modules are excluded based on the target modules set. --- src/diffusers/utils/peft_utils.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/diffusers/utils/peft_utils.py b/src/diffusers/utils/peft_utils.py index 651fa27294c6..1bfa0589aced 100644 --- a/src/diffusers/utils/peft_utils.py +++ b/src/diffusers/utils/peft_utils.py @@ -409,6 +409,10 @@ def _derive_exclude_modules(model_state_dict, peft_state_dict, adapter_name=None all_modules.add(module_name) target_modules_set = {name.split(".lora")[0] for name in peft_state_dict.keys()} - exclude_modules = list(all_modules - target_modules_set) + exclude_modules_set = set(all_modules - target_modules_set) + exclude_modules = [] + for module_name in exclude_modules_set: + if all(module_name not in target_module_name for target_module_name in target_modules_set): + exclude_modules.append(module_name) return exclude_modules