Fix low vram lora load

This commit is contained in:
kijai
2025-04-10 18:04:17 +03:00
parent 280f9952e5
commit 11e9166d0b
+5 -1
View File
@@ -58,6 +58,8 @@ def apply_lora(model, device_to, transformer_load_device, params_to_keep=None, d
name = name.replace("._orig_mod.", ".") # torch compiled modules have this prefix
if low_mem_load:
dtype_to_use = base_dtype if any(keyword in name for keyword in params_to_keep) else dtype
if "modulation" in name:
dtype_to_use = torch.float32
if name.startswith("diffusion_model."):
name_no_prefix = name[len("diffusion_model."):]
key = "{}.{}".format(name_no_prefix, param)
@@ -72,7 +74,9 @@ def apply_lora(model, device_to, transformer_load_device, params_to_keep=None, d
if low_mem_load:
for name, param in model.model.diffusion_model.named_parameters():
if param.device != transformer_load_device:
#print("param.device", param.device)
dtype_to_use = base_dtype if any(keyword in name for keyword in params_to_keep) else dtype
if "modulation" in name:
dtype_to_use = torch.float32
set_module_tensor_to_device(model.model.diffusion_model, name, device=transformer_load_device, dtype=dtype_to_use, value=state_dict[name])
return model