Delete lora_script.py
Browse files- lora_script.py +0 -99
lora_script.py
DELETED
@@ -1,99 +0,0 @@
|
|
1 |
-
import re
|
2 |
-
|
3 |
-
import gradio as gr
|
4 |
-
from fastapi import FastAPI
|
5 |
-
|
6 |
-
import network
|
7 |
-
import networks
|
8 |
-
import lora # noqa:F401
|
9 |
-
import lora_patches
|
10 |
-
import extra_networks_lora
|
11 |
-
import ui_extra_networks_lora
|
12 |
-
from modules import script_callbacks, ui_extra_networks, extra_networks, shared
|
13 |
-
|
14 |
-
|
15 |
-
def unload():
|
16 |
-
networks.originals.undo()
|
17 |
-
|
18 |
-
|
19 |
-
def before_ui():
|
20 |
-
ui_extra_networks.register_page(ui_extra_networks_lora.ExtraNetworksPageLora())
|
21 |
-
|
22 |
-
networks.extra_network_lora = extra_networks_lora.ExtraNetworkLora()
|
23 |
-
extra_networks.register_extra_network(networks.extra_network_lora)
|
24 |
-
extra_networks.register_extra_network_alias(networks.extra_network_lora, "lyco")
|
25 |
-
|
26 |
-
|
27 |
-
networks.originals = lora_patches.LoraPatches()
|
28 |
-
|
29 |
-
script_callbacks.on_model_loaded(networks.assign_network_names_to_compvis_modules)
|
30 |
-
script_callbacks.on_script_unloaded(unload)
|
31 |
-
script_callbacks.on_before_ui(before_ui)
|
32 |
-
script_callbacks.on_infotext_pasted(networks.infotext_pasted)
|
33 |
-
|
34 |
-
|
35 |
-
shared.options_templates.update(shared.options_section(('extra_networks', "Extra Networks"), {
|
36 |
-
"sd_lora": shared.OptionInfo("None", "Add network to prompt", gr.Dropdown, lambda: {"choices": ["None", *networks.available_networks]}, refresh=networks.list_available_networks),
|
37 |
-
"lora_preferred_name": shared.OptionInfo("Filename", "When adding to prompt, refer to Lora by", gr.Radio, {"choices": ["Alias from file", "Filename"]}),
|
38 |
-
"lora_add_hashes_to_infotext": shared.OptionInfo(True, "Add Lora hashes to infotext"),
|
39 |
-
"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"),
|
40 |
-
"lora_hide_unknown_for_versions": shared.OptionInfo([], "Hide networks of unknown versions for model versions", gr.CheckboxGroup, {"choices": ["SD1", "SD2", "SDXL"]}),
|
41 |
-
"lora_in_memory_limit": shared.OptionInfo(0, "Number of Lora networks to keep cached in memory", gr.Number, {"precision": 0}),
|
42 |
-
}))
|
43 |
-
|
44 |
-
|
45 |
-
shared.options_templates.update(shared.options_section(('compatibility', "Compatibility"), {
|
46 |
-
"lora_functional": shared.OptionInfo(False, "Lora/Networks: use old method that takes longer when you have multiple Loras active and produces same results as kohya-ss/sd-webui-additional-networks extension"),
|
47 |
-
}))
|
48 |
-
|
49 |
-
|
50 |
-
def create_lora_json(obj: network.NetworkOnDisk):
|
51 |
-
return {
|
52 |
-
"name": obj.name,
|
53 |
-
"alias": obj.alias,
|
54 |
-
"path": obj.filename,
|
55 |
-
"metadata": obj.metadata,
|
56 |
-
}
|
57 |
-
|
58 |
-
|
59 |
-
def api_networks(_: gr.Blocks, app: FastAPI):
|
60 |
-
@app.get("/sdapi/v1/loras")
|
61 |
-
async def get_loras():
|
62 |
-
return [create_lora_json(obj) for obj in networks.available_networks.values()]
|
63 |
-
|
64 |
-
@app.post("/sdapi/v1/refresh-loras")
|
65 |
-
async def refresh_loras():
|
66 |
-
return networks.list_available_networks()
|
67 |
-
|
68 |
-
|
69 |
-
script_callbacks.on_app_started(api_networks)
|
70 |
-
|
71 |
-
re_lora = re.compile("<lora:([^:]+):")
|
72 |
-
|
73 |
-
|
74 |
-
def infotext_pasted(infotext, d):
|
75 |
-
hashes = d.get("Lora hashes")
|
76 |
-
if not hashes:
|
77 |
-
return
|
78 |
-
|
79 |
-
hashes = [x.strip().split(':', 1) for x in hashes.split(",")]
|
80 |
-
hashes = {x[0].strip().replace(",", ""): x[1].strip() for x in hashes}
|
81 |
-
|
82 |
-
def network_replacement(m):
|
83 |
-
alias = m.group(1)
|
84 |
-
shorthash = hashes.get(alias)
|
85 |
-
if shorthash is None:
|
86 |
-
return m.group(0)
|
87 |
-
|
88 |
-
network_on_disk = networks.available_network_hash_lookup.get(shorthash)
|
89 |
-
if network_on_disk is None:
|
90 |
-
return m.group(0)
|
91 |
-
|
92 |
-
return f'<lora:{network_on_disk.get_alias()}:'
|
93 |
-
|
94 |
-
d["Prompt"] = re.sub(re_lora, network_replacement, d["Prompt"])
|
95 |
-
|
96 |
-
|
97 |
-
script_callbacks.on_infotext_pasted(infotext_pasted)
|
98 |
-
|
99 |
-
shared.opts.onchange("lora_in_memory_limit", networks.purge_networks_from_memory)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|