diff --git a/api/onnx_web/convert/diffusion/lora.py b/api/onnx_web/convert/diffusion/lora.py index 9fb16517..0ed6f7dd 100644 --- a/api/onnx_web/convert/diffusion/lora.py +++ b/api/onnx_web/convert/diffusion/lora.py @@ -288,9 +288,15 @@ def blend_loras( down_w, down_h = kernel_slice(w, h, down_weight.shape) up_w, up_h = kernel_slice(w, h, up_weight.shape) - weights[:, :, w, h] = up_weight[:, :, up_w, up_h].squeeze(3).squeeze( + weights[:, :, w, h] = up_weight[ + :, :, up_w, up_h + ].squeeze(3).squeeze(2) @ down_weight[ + :, :, down_w, down_h + ].squeeze( + 3 + ).squeeze( 2 - ) @ down_weight[:, :, down_w, down_h].squeeze(3).squeeze(2) + ) np_weights = weights.numpy() * (alpha / dim) else: