Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
ComfyUI
Commits
c2058328
Commit
c2058328
authored
Aug 10, 2023
by
comfyanonymous
Browse files
Support diffuser text encoder loras.
parent
f7e6a5ed
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
1 deletion
+15
-1
comfy/sd.py
comfy/sd.py
+15
-1
No files found.
comfy/sd.py
View file @
c2058328
...
@@ -72,6 +72,7 @@ def load_lora(lora, to_load):
...
@@ -72,6 +72,7 @@ def load_lora(lora, to_load):
regular_lora
=
"{}.lora_up.weight"
.
format
(
x
)
regular_lora
=
"{}.lora_up.weight"
.
format
(
x
)
diffusers_lora
=
"{}_lora.up.weight"
.
format
(
x
)
diffusers_lora
=
"{}_lora.up.weight"
.
format
(
x
)
transformers_lora
=
"{}.lora_linear_layer.up.weight"
.
format
(
x
)
A_name
=
None
A_name
=
None
if
regular_lora
in
lora
.
keys
():
if
regular_lora
in
lora
.
keys
():
...
@@ -82,6 +83,10 @@ def load_lora(lora, to_load):
...
@@ -82,6 +83,10 @@ def load_lora(lora, to_load):
A_name
=
diffusers_lora
A_name
=
diffusers_lora
B_name
=
"{}_lora.down.weight"
.
format
(
x
)
B_name
=
"{}_lora.down.weight"
.
format
(
x
)
mid_name
=
None
mid_name
=
None
elif
transformers_lora
in
lora
.
keys
():
A_name
=
transformers_lora
B_name
=
"{}.lora_linear_layer.down.weight"
.
format
(
x
)
mid_name
=
None
if
A_name
is
not
None
:
if
A_name
is
not
None
:
mid
=
None
mid
=
None
...
@@ -181,20 +186,29 @@ def model_lora_keys_clip(model, key_map={}):
...
@@ -181,20 +186,29 @@ def model_lora_keys_clip(model, key_map={}):
key_map
[
lora_key
]
=
k
key_map
[
lora_key
]
=
k
lora_key
=
"lora_te1_text_model_encoder_layers_{}_{}"
.
format
(
b
,
LORA_CLIP_MAP
[
c
])
lora_key
=
"lora_te1_text_model_encoder_layers_{}_{}"
.
format
(
b
,
LORA_CLIP_MAP
[
c
])
key_map
[
lora_key
]
=
k
key_map
[
lora_key
]
=
k
lora_key
=
"text_encoder.text_model.encoder.layers.{}.{}"
.
format
(
b
,
c
)
#diffusers lora
key_map
[
lora_key
]
=
k
k
=
"clip_l.transformer.text_model.encoder.layers.{}.{}.weight"
.
format
(
b
,
c
)
k
=
"clip_l.transformer.text_model.encoder.layers.{}.{}.weight"
.
format
(
b
,
c
)
if
k
in
sdk
:
if
k
in
sdk
:
lora_key
=
"lora_te1_text_model_encoder_layers_{}_{}"
.
format
(
b
,
LORA_CLIP_MAP
[
c
])
#SDXL base
lora_key
=
"lora_te1_text_model_encoder_layers_{}_{}"
.
format
(
b
,
LORA_CLIP_MAP
[
c
])
#SDXL base
key_map
[
lora_key
]
=
k
key_map
[
lora_key
]
=
k
clip_l_present
=
True
clip_l_present
=
True
lora_key
=
"text_encoder.text_model.encoder.layers.{}.{}"
.
format
(
b
,
c
)
#diffusers lora
key_map
[
lora_key
]
=
k
k
=
"clip_g.transformer.text_model.encoder.layers.{}.{}.weight"
.
format
(
b
,
c
)
k
=
"clip_g.transformer.text_model.encoder.layers.{}.{}.weight"
.
format
(
b
,
c
)
if
k
in
sdk
:
if
k
in
sdk
:
if
clip_l_present
:
if
clip_l_present
:
lora_key
=
"lora_te2_text_model_encoder_layers_{}_{}"
.
format
(
b
,
LORA_CLIP_MAP
[
c
])
#SDXL base
lora_key
=
"lora_te2_text_model_encoder_layers_{}_{}"
.
format
(
b
,
LORA_CLIP_MAP
[
c
])
#SDXL base
key_map
[
lora_key
]
=
k
lora_key
=
"text_encoder_2.text_model.encoder.layers.{}.{}"
.
format
(
b
,
c
)
#diffusers lora
key_map
[
lora_key
]
=
k
else
:
else
:
lora_key
=
"lora_te_text_model_encoder_layers_{}_{}"
.
format
(
b
,
LORA_CLIP_MAP
[
c
])
#TODO: test if this is correct for SDXL-Refiner
lora_key
=
"lora_te_text_model_encoder_layers_{}_{}"
.
format
(
b
,
LORA_CLIP_MAP
[
c
])
#TODO: test if this is correct for SDXL-Refiner
key_map
[
lora_key
]
=
k
key_map
[
lora_key
]
=
k
lora_key
=
"text_encoder.text_model.encoder.layers.{}.{}"
.
format
(
b
,
c
)
#diffusers lora
key_map
[
lora_key
]
=
k
return
key_map
return
key_map
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment