Browse Source

Make the text projection saved in the checkpoint the right format.

pull/2918/head
comfyanonymous 9 months ago
parent
commit
b416be7d78
  1. 4
      comfy/diffusers_convert.py
  2. 2
      comfy/utils.py

4
comfy/diffusers_convert.py

@ -237,6 +237,10 @@ def convert_text_enc_state_dict_v20(text_enc_dict, prefix=""):
capture_qkv_bias[k_pre][code2idx[k_code]] = v
continue
text_proj = "transformer.text_projection.weight"
if k.endswith(text_proj):
new_state_dict[k.replace(text_proj, "text_projection")] = v.transpose(0, 1).contiguous()
relabelled_key = textenc_pattern.sub(lambda m: protected[re.escape(m.group(0))], k)
new_state_dict[relabelled_key] = v

2
comfy/utils.py

@ -110,7 +110,7 @@ def clip_text_transformers_convert(sd, prefix_from, prefix_to):
tp = "{}text_projection".format(prefix_from)
if tp in sd:
sd["{}text_projection.weight".format(prefix_to)] = sd.pop(tp).transpose(0, 1)
sd["{}text_projection.weight".format(prefix_to)] = sd.pop(tp).transpose(0, 1).contiguous()
return sd

Loading…
Cancel
Save