-
Notifications
You must be signed in to change notification settings - Fork 5.8k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[LoRA] clean up load_lora_into_text_encoder()
and fuse_lora()
copied from
#10495
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sayakpaul
commented
Jan 8, 2025
@@ -297,6 +306,152 @@ def _best_guess_weight_name( | |||
return weight_name | |||
|
|||
|
|||
def _load_lora_into_text_encoder( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reason why it's not a part of LoRABaseMixin
is because not all pipelines support text encoder LoRAs.
The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update. |
hlky
approved these changes
Jan 9, 2025
Integration tests for LoRA are passing. |
DN6
pushed a commit
that referenced
this pull request
Jan 15, 2025
…ied from (#10495) * factor out text encoder loading. * make fix-copies * remove copied from fuse_lora and unfuse_lora as needed. * remove unused imports
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
load_lora_into_text_encoder()
The
load_lora_into_text_encoder()
method is basically copied for all the pipelines that support LoRAs on their text encoders. Since the method is duplicated across the different LoRA classes, we can just factor it out to reduce the LoCs.fuse_lora()
We should not allow the components that are not LoRA-loadable in the signature of
fuse_lora()
andunfuse_lora()
. This wasn't caught because in the tests, we explicitly pass_lora_loadable_modules
:diffusers/tests/lora/utils.py
Line 898 in e2deb82
TODOs