hako-mikan / sd-webui-supermerger

model merge extention for stable diffusion web ui
GNU Affero General Public License v3.0
753 stars 111 forks source link

Problem when trying to merge Locon with multiple dimensions #380

Open Zolilio opened 6 months ago

Zolilio commented 6 months ago

I've noticed that the extension give me an error when trying to merge Locon with uneven network and conv dimensions (even when I try to merge one single Locon). Here the error:

Traceback (most recent call last):
  File "C:\Users\XXX\AI\webui_forge_cu121_torch21\webui\extensions\sd-webui-supermerger\scripts\mergers\pluslora.py", line 393, in lmerge
    d = list(set(d.values()))
AttributeError: 'list' object has no attribute 'values'

Checked how this type of Lora was handled by the code and I found in pluslora.py file the part responsible for the issue (line 393):

if t == "LoCon" and isinstance(d, list):
                d = list(set(d.values()))
                d = d[0]

I've erased the d = list(set(d.values())) line, and now the error is gone. However, the results I got when merging where a bit off. It looked like the effect of the Lora was weakened and I'm not sure if it's because the code missed some information to do a good merge or just an error from my part.

If someone that know how the code work could help me here I would be very pleased :)

hako-mikan commented 1 month ago

May be fixed. Thanks @Zolilio