hako-mikan / sd-webui-supermerger

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

Feature Request - sd-webui-forge compatibility #334

Closed ResidentChief closed 6 months ago

ResidentChief commented 7 months ago

Can you please update/fork this to add compatibility for sd-webui-forge?

Current error on LoRA merge

Traceback (most recent call last): File "/notebooks/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/gradio/routes.py", line 488, in run_predict output = await app.get_blocks().process_api( File "/notebooks/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/gradio/blocks.py", line 1431, in process_api result = await self.call_function( File "/notebooks/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/gradio/blocks.py", line 1103, in call_function prediction = await anyio.to_thread.run_sync( File "/notebooks/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/anyio/to_thread.py", line 33, in run_sync return await get_asynclib().run_sync_in_worker_thread( File "/notebooks/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread return await future File "/notebooks/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 807, in run result = context.run(func, args) File "/notebooks/stable-diffusion-webui-forge/venv/lib/python3.10/site-packages/gradio/utils.py", line 707, in wrapper response = f(args, **kwargs) File "/notebooks/stable-diffusion-webui-forge/extensions/sd-webui-supermerger/scripts/mergers/pluslora.py", line 738, in pluslora theta_0 = newpluslora(theta_0,filenames,lweis,names, isxl,isv2, keychanger) File "/notebooks/stable-diffusion-webui-forge/extensions/sd-webui-supermerger/scripts/mergers/pluslora.py", line 809, in newpluslora nets.load_networks(names) File "/notebooks/stable-diffusion-webui-forge/extensions-builtin/Lora/networks.py", line 50, in load_networks for a, b, c in zip(networks_on_disk, unet_multipliers, te_multipliers): TypeError: 'NoneType' object is not iterable

CyberLykan commented 7 months ago

I am having the same issue.

CasanovaSan commented 7 months ago

same issue, i can't use supermerger at all, supermerger should be an option to forge as well because forge is just better than what a1111 did

skullzy77 commented 7 months ago

I would also love to see this. Just heard about this extension today and was hoping to use it for merging some sdxl models but I can't run them on a1111 with my setup.

Edit: I'm actually not getting any errors when merging models. Haven't tried loras yet.

Husky110 commented 7 months ago

I can add to this aswell - when I start up my forge-instance I get this:

*** Error executing callback app_started_callback for /home/husky110/AI/stable-diffusion-webui/extensions/sd-webui-supermerger/scripts/GenParamGetter.py
    Traceback (most recent call last):
      File "/home/husky110/AI/stable-diffusion-webui/modules/script_callbacks.py", line 156, in app_started_callback
        c.callback(demo, app)
      File "/home/husky110/AI/stable-diffusion-webui/extensions/sd-webui-supermerger/scripts/GenParamGetter.py", line 90, in get_params_components
        inputs=[*components.msettings,components.esettings1,*components.genparams,*components.hiresfix,*components.lucks,components.currentmodel,components.dfalse,*components.txt2img_params],
    TypeError: Value after * must be an iterable, not NoneType
TigonTX commented 7 months ago

+1

aleph23 commented 6 months ago

I think the fix would need to be in Forge. The extension works under the latest vanilla a1111, so making it work under Forge would likely break it under a1111... And this, primarily, is an a1111 extension.

Husky110 commented 6 months ago

@aleph23 - Not neccesarily. Take RegionalPrompter for example. That works (mostly) on Forge without breaking anything in A1111.

aleph23 commented 6 months ago

Several extension work just fine on Forge. A breaking change to one extension is not at all indicative of other 'breakage.' Particularly with the given example - they utilize totally different parts of the code. I say it's a Forge issue because Forge devs are far more likely to know what they've changed that could have caused the issue than is hako-mikan. Their codebase is much larger and if hako-mikan hasn't been using it he'd only have a rough idea where to start, given how significantly Forge alters a1111.

chriperseo commented 6 months ago

Do we have a solution for the above issue ?

hako-mikan commented 6 months ago

Fixed for Merge to Checkpoint and Merge Loras

ResidentChief commented 6 months ago

Fixed for Merge to Checkpoint and Merge Loras

Hi chief, can confirm these are now working for me in the latest commit. Thank you so much for sorting that out as I can now migrate fully to forge! :)