Try to avoid settings conflict

main
Kohaku-Blueleaf 2024-02-15 21:56:37 +08:00
parent 668c647f81
commit dca9dc2d55
4 changed files with 23 additions and 23 deletions

View File

@ -42,7 +42,7 @@ class ExtraNetworkLora(extra_networks.ExtraNetwork):
networks.load_networks(names, te_multipliers, unet_multipliers, dyn_dims)
if shared.opts.lora_add_hashes_to_infotext:
if shared.opts.lyco_add_hashes_to_infotext:
network_hashes = []
for item in networks.loaded_networks:
shorthash = item.network_on_disk.shorthash

View File

@ -248,7 +248,7 @@ def load_network(name, network_on_disk):
def purge_networks_from_memory():
while len(networks_in_memory) > shared.opts.lora_in_memory_limit and len(networks_in_memory) > 0:
while len(networks_in_memory) > shared.opts.lyco_in_memory_limit and len(networks_in_memory) > 0:
name = next(iter(networks_in_memory))
networks_in_memory.pop(name, None)
@ -326,9 +326,9 @@ def load_networks(names, te_multipliers=None, unet_multipliers=None, dyn_dims=No
if failed_to_load_networks:
lora_not_found_message = f'Lora not found: {", ".join(failed_to_load_networks)}'
sd_hijack.model_hijack.comments.append(lora_not_found_message)
if shared.opts.lora_not_found_warning_console:
if shared.opts.lyco_not_found_warning_console:
print(f'\n{lora_not_found_message}\n')
if shared.opts.lora_not_found_gradio_warning:
if shared.opts.lyco_not_found_gradio_warning:
gr.Warning(lora_not_found_message)
purge_networks_from_memory()
@ -501,7 +501,7 @@ def network_reset_cached_weight(self: Union[torch.nn.Conv2d, torch.nn.Linear]):
def network_Linear_forward(self, input):
if shared.opts.lora_functional:
if shared.opts.lyco_functional:
return network_forward(self, input, originals.Linear_forward)
network_apply_weights(self)
@ -516,7 +516,7 @@ def network_Linear_load_state_dict(self, *args, **kwargs):
def network_Conv2d_forward(self, input):
if shared.opts.lora_functional:
if shared.opts.lyco_functional:
return network_forward(self, input, originals.Conv2d_forward)
network_apply_weights(self)
@ -531,7 +531,7 @@ def network_Conv2d_load_state_dict(self, *args, **kwargs):
def network_GroupNorm_forward(self, input):
if shared.opts.lora_functional:
if shared.opts.lyco_functional:
return network_forward(self, input, originals.GroupNorm_forward)
network_apply_weights(self)
@ -546,7 +546,7 @@ def network_GroupNorm_load_state_dict(self, *args, **kwargs):
def network_LayerNorm_forward(self, input):
if shared.opts.lora_functional:
if shared.opts.lyco_functional:
return network_forward(self, input, originals.LayerNorm_forward)
network_apply_weights(self)

View File

@ -36,15 +36,15 @@ script_callbacks.on_before_ui(before_ui)
script_callbacks.on_infotext_pasted(networks.infotext_pasted)
shared.options_templates.update(shared.options_section(('extra_networks', "Extra Networks"), {
"sd_lora": shared.OptionInfo("None", "Add network to prompt", gr.Dropdown, lambda: {"choices": ["None", *networks.available_networks]}, refresh=networks.list_available_networks),
"lora_preferred_name": shared.OptionInfo("Alias from file", "When adding to prompt, refer to Lora by", gr.Radio, {"choices": ["Alias from file", "Filename"]}),
"lora_add_hashes_to_infotext": shared.OptionInfo(True, "Add Lora hashes to infotext"),
"lora_show_all": shared.OptionInfo(False, "Always show all networks on the Lora page").info("otherwise, those detected as for incompatible version of Stable Diffusion will be hidden"),
"lora_hide_unknown_for_versions": shared.OptionInfo([], "Hide networks of unknown versions for model versions", gr.CheckboxGroup, {"choices": ["SD1", "SD2", "SDXL"]}),
"lora_in_memory_limit": shared.OptionInfo(0, "Number of Lora networks to keep cached in memory", gr.Number, {"precision": 0}),
"lora_not_found_warning_console": shared.OptionInfo(False, "Lora not found warning in console"),
"lora_not_found_gradio_warning": shared.OptionInfo(False, "Lora not found warning popup in webui"),
shared.options_templates.update(shared.options_section(('lycoris', "LyCORIS"), {
"sd_lyco": shared.OptionInfo("None", "Add network to prompt", gr.Dropdown, lambda: {"choices": ["None", *networks.available_networks]}, refresh=networks.list_available_networks),
"lyco_preferred_name": shared.OptionInfo("Alias from file", "When adding to prompt, refer to Lora by", gr.Radio, {"choices": ["Alias from file", "Filename"]}),
"lyco_add_hashes_to_infotext": shared.OptionInfo(True, "Add Lora hashes to infotext"),
"lyco_show_all": shared.OptionInfo(False, "Always show all networks on the Lora page").info("otherwise, those detected as for incompatible version of Stable Diffusion will be hidden"),
"lyco_hide_unknown_for_versions": shared.OptionInfo([], "Hide networks of unknown versions for model versions", gr.CheckboxGroup, {"choices": ["SD1", "SD2", "SDXL"]}),
"lyco_in_memory_limit": shared.OptionInfo(0, "Number of Lora networks to keep cached in memory", gr.Number, {"precision": 0}),
"lyco_not_found_warning_console": shared.OptionInfo(False, "Lora not found warning in console"),
"lyco_not_found_gradio_warning": shared.OptionInfo(False, "Lora not found warning popup in webui"),
}))
@ -63,18 +63,18 @@ def create_lora_json(obj: network.NetworkOnDisk):
def api_networks(_: gr.Blocks, app: FastAPI):
@app.get("/sdapi/v1/loras")
@app.get("/sdapi/v1/lycos")
async def get_loras():
return [create_lora_json(obj) for obj in networks.available_networks.values()]
@app.post("/sdapi/v1/refresh-loras")
@app.post("/sdapi/v1/refresh-lycos")
async def refresh_loras():
return networks.list_available_networks()
script_callbacks.on_app_started(api_networks)
re_lora = re.compile("<lora:([^:]+):")
re_lora = re.compile("<lyco:([^:]+):")
def infotext_pasted(infotext, d):
@ -102,4 +102,4 @@ def infotext_pasted(infotext, d):
script_callbacks.on_infotext_pasted(infotext_pasted)
shared.opts.onchange("lora_in_memory_limit", networks.purge_networks_from_memory)
shared.opts.onchange("lyco_in_memory_limit", networks.purge_networks_from_memory)

View File

@ -60,11 +60,11 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage):
else:
sd_version = lora_on_disk.sd_version
if shared.opts.lora_show_all or not enable_filter:
if shared.opts.lyco_show_all or not enable_filter:
pass
elif sd_version == network.SdVersion.Unknown:
model_version = network.SdVersion.SDXL if shared.sd_model.is_sdxl else network.SdVersion.SD2 if shared.sd_model.is_sd2 else network.SdVersion.SD1
if model_version.name in shared.opts.lora_hide_unknown_for_versions:
if model_version.name in shared.opts.lyco_hide_unknown_for_versions:
return None
elif shared.sd_model.is_sdxl and sd_version != network.SdVersion.SDXL:
return None