Browse Source

Round CLIP position ids to fix float issues in some checkpoints.

pull/3/head
comfyanonymous 2 years ago
parent
commit
2973ff24c5
  1. 3
      comfy/sd.py

3
comfy/sd.py

@ -32,6 +32,9 @@ def load_model_from_config(config, ckpt, verbose=False, load_state_dict_to=[]):
y = x.replace("cond_stage_model.transformer.", "cond_stage_model.transformer.text_model.") y = x.replace("cond_stage_model.transformer.", "cond_stage_model.transformer.text_model.")
sd[y] = sd.pop(x) sd[y] = sd.pop(x)
if 'cond_stage_model.transformer.text_model.embeddings.position_ids' in sd:
sd['cond_stage_model.transformer.text_model.embeddings.position_ids'] = sd['cond_stage_model.transformer.text_model.embeddings.position_ids'].round()
for x in load_state_dict_to: for x in load_state_dict_to:
x.load_state_dict(sd, strict=False) x.load_state_dict(sd, strict=False)

Loading…
Cancel
Save