Commit 35510f75 authored by AUTOMATIC1111's avatar AUTOMATIC1111
Browse files

add alias to lyco network

read networks from LyCORIS dir if it exists
add credits
parent 2e07a8ae
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -168,5 +168,6 @@ Licenses for borrowed code can be found in `Settings -> Licenses` screen, and al
- Security advice - RyotaK
- Security advice - RyotaK
- UniPC sampler - Wenliang Zhao - https://github.com/wl-zhao/UniPC
- UniPC sampler - Wenliang Zhao - https://github.com/wl-zhao/UniPC
- TAESD - Ollin Boer Bohan - https://github.com/madebyollin/taesd
- TAESD - Ollin Boer Bohan - https://github.com/madebyollin/taesd
- LyCORIS - KohakuBlueleaf
- Initial Gradio script - posted on 4chan by an Anonymous user. Thank you Anonymous user.
- Initial Gradio script - posted on 4chan by an Anonymous user. Thank you Anonymous user.
- (You)
- (You)
+2 −1
Original line number Original line Diff line number Diff line
@@ -11,7 +11,7 @@ import network_full
import torch
import torch
from typing import Union
from typing import Union


from modules import shared, devices, sd_models, errors, scripts, sd_hijack
from modules import shared, devices, sd_models, errors, scripts, sd_hijack, paths


module_types = [
module_types = [
    network_lora.ModuleTypeLora(),
    network_lora.ModuleTypeLora(),
@@ -399,6 +399,7 @@ def list_available_networks():
    os.makedirs(shared.cmd_opts.lora_dir, exist_ok=True)
    os.makedirs(shared.cmd_opts.lora_dir, exist_ok=True)


    candidates = list(shared.walk_files(shared.cmd_opts.lora_dir, allowed_extensions=[".pt", ".ckpt", ".safetensors"]))
    candidates = list(shared.walk_files(shared.cmd_opts.lora_dir, allowed_extensions=[".pt", ".ckpt", ".safetensors"]))
    candidates += list(shared.walk_files(os.path.join(paths.models_path, "LyCORIS"), allowed_extensions=[".pt", ".ckpt", ".safetensors"]))
    for filename in candidates:
    for filename in candidates:
        if os.path.isdir(filename):
        if os.path.isdir(filename):
            continue
            continue
+4 −1
Original line number Original line Diff line number Diff line
@@ -22,7 +22,10 @@ def unload():


def before_ui():
def before_ui():
    ui_extra_networks.register_page(ui_extra_networks_lora.ExtraNetworksPageLora())
    ui_extra_networks.register_page(ui_extra_networks_lora.ExtraNetworksPageLora())
    extra_networks.register_extra_network(extra_networks_lora.ExtraNetworkLora())

    extra_network = extra_networks_lora.ExtraNetworkLora()
    extra_networks.register_extra_network(extra_network)
    extra_networks.register_extra_network_alias(extra_network, "lyco")




if not hasattr(torch.nn, 'Linear_forward_before_network'):
if not hasattr(torch.nn, 'Linear_forward_before_network'):
+14 −2
Original line number Original line Diff line number Diff line
@@ -4,16 +4,22 @@ from collections import defaultdict
from modules import errors
from modules import errors


extra_network_registry = {}
extra_network_registry = {}
extra_network_aliases = {}




def initialize():
def initialize():
    extra_network_registry.clear()
    extra_network_registry.clear()
    extra_network_aliases.clear()




def register_extra_network(extra_network):
def register_extra_network(extra_network):
    extra_network_registry[extra_network.name] = extra_network
    extra_network_registry[extra_network.name] = extra_network




def register_extra_network_alias(extra_network, alias):
    extra_network_aliases[alias] = extra_network


def register_default_extra_networks():
def register_default_extra_networks():
    from modules.extra_networks_hypernet import ExtraNetworkHypernet
    from modules.extra_networks_hypernet import ExtraNetworkHypernet
    register_extra_network(ExtraNetworkHypernet())
    register_extra_network(ExtraNetworkHypernet())
@@ -82,20 +88,26 @@ def activate(p, extra_network_data):
    """call activate for extra networks in extra_network_data in specified order, then call
    """call activate for extra networks in extra_network_data in specified order, then call
    activate for all remaining registered networks with an empty argument list"""
    activate for all remaining registered networks with an empty argument list"""


    activated = []

    for extra_network_name, extra_network_args in extra_network_data.items():
    for extra_network_name, extra_network_args in extra_network_data.items():
        extra_network = extra_network_registry.get(extra_network_name, None)
        extra_network = extra_network_registry.get(extra_network_name, None)

        if extra_network is None:
            extra_network = extra_network_aliases.get(extra_network_name, None)

        if extra_network is None:
        if extra_network is None:
            print(f"Skipping unknown extra network: {extra_network_name}")
            print(f"Skipping unknown extra network: {extra_network_name}")
            continue
            continue


        try:
        try:
            extra_network.activate(p, extra_network_args)
            extra_network.activate(p, extra_network_args)
            activated.append(extra_network)
        except Exception as e:
        except Exception as e:
            errors.display(e, f"activating extra network {extra_network_name} with arguments {extra_network_args}")
            errors.display(e, f"activating extra network {extra_network_name} with arguments {extra_network_args}")


    for extra_network_name, extra_network in extra_network_registry.items():
    for extra_network_name, extra_network in extra_network_registry.items():
        args = extra_network_data.get(extra_network_name, None)
        if extra_network in activated:
        if args is not None:
            continue
            continue


        try:
        try: