diff options
author | AUTOMATIC <16777216c@gmail.com> | 2023-05-09 08:25:46 +0000 |
---|---|---|
committer | AUTOMATIC <16777216c@gmail.com> | 2023-05-09 08:25:46 +0000 |
commit | eb95809501068a38f2b6bdb01b6ae5b86ff7ae87 (patch) | |
tree | 91b84492d604dc5e7f5651188344aa1c3e68badc /extensions-builtin/Lora/scripts/lora_script.py | |
parent | 7e02a00c81a2643de0924a325b6b55f990bd69a9 (diff) | |
download | stable-diffusion-webui-gfx803-eb95809501068a38f2b6bdb01b6ae5b86ff7ae87.tar.gz stable-diffusion-webui-gfx803-eb95809501068a38f2b6bdb01b6ae5b86ff7ae87.tar.bz2 stable-diffusion-webui-gfx803-eb95809501068a38f2b6bdb01b6ae5b86ff7ae87.zip |
rework loras api
Diffstat (limited to 'extensions-builtin/Lora/scripts/lora_script.py')
-rw-r--r-- | extensions-builtin/Lora/scripts/lora_script.py | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/extensions-builtin/Lora/scripts/lora_script.py b/extensions-builtin/Lora/scripts/lora_script.py index a67b8a69..7db971fd 100644 --- a/extensions-builtin/Lora/scripts/lora_script.py +++ b/extensions-builtin/Lora/scripts/lora_script.py @@ -1,12 +1,12 @@ import torch
import gradio as gr
+from fastapi import FastAPI
import lora
import extra_networks_lora
import ui_extra_networks_lora
from modules import script_callbacks, ui_extra_networks, extra_networks, shared
-
def unload():
torch.nn.Linear.forward = torch.nn.Linear_forward_before_lora
torch.nn.Linear._load_from_state_dict = torch.nn.Linear_load_state_dict_before_lora
@@ -60,3 +60,22 @@ shared.options_templates.update(shared.options_section(('extra_networks', "Extra shared.options_templates.update(shared.options_section(('compatibility', "Compatibility"), {
"lora_functional": shared.OptionInfo(False, "Lora: use old method that takes longer when you have multiple Loras active and produces same results as kohya-ss/sd-webui-additional-networks extension"),
}))
+
+
+def create_lora_json(obj: lora.LoraOnDisk):
+ return {
+ "name": obj.name,
+ "alias": obj.alias,
+ "path": obj.filename,
+ "metadata": obj.metadata,
+ }
+
+
+def api_loras(_: gr.Blocks, app: FastAPI):
+ @app.get("/sdapi/v1/loras")
+ async def get_loras():
+ return [create_lora_json(obj) for obj in lora.available_loras.values()]
+
+
+script_callbacks.on_app_started(api_loras)
+
|