feat: allow to add disabled LoRAs in config on application start (#2507)
add LoRA checkbox enable/disable handling to all necessary occurrences
This commit is contained in:
parent
2831dc70a7
commit
39669453cd
|
|
@ -275,27 +275,32 @@ default_loras = get_config_item_or_set_default(
|
||||||
key='default_loras',
|
key='default_loras',
|
||||||
default_value=[
|
default_value=[
|
||||||
[
|
[
|
||||||
|
True,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
True,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
True,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
True,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
True,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
validator=lambda x: isinstance(x, list) and all(len(y) == 2 and isinstance(y[0], str) and isinstance(y[1], numbers.Number) for y in x)
|
validator=lambda x: isinstance(x, list) and all(len(y) == 3 and isinstance(y[0], bool) and isinstance(y[1], str) and isinstance(y[2], numbers.Number) for y in x)
|
||||||
)
|
)
|
||||||
default_max_lora_number = get_config_item_or_set_default(
|
default_max_lora_number = get_config_item_or_set_default(
|
||||||
key='default_max_lora_number',
|
key='default_max_lora_number',
|
||||||
|
|
|
||||||
|
|
@ -73,14 +73,17 @@ class StableDiffusionModel:
|
||||||
|
|
||||||
loras_to_load = []
|
loras_to_load = []
|
||||||
|
|
||||||
for name, weight in loras:
|
for enabled, filename, weight in loras:
|
||||||
if name == 'None':
|
if not enabled:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if os.path.exists(name):
|
if filename == 'None':
|
||||||
lora_filename = name
|
continue
|
||||||
|
|
||||||
|
if os.path.exists(filename):
|
||||||
|
lora_filename = filename
|
||||||
else:
|
else:
|
||||||
lora_filename = get_file_from_folder_list(name, modules.config.paths_loras)
|
lora_filename = get_file_from_folder_list(filename, modules.config.paths_loras)
|
||||||
|
|
||||||
if not os.path.exists(lora_filename):
|
if not os.path.exists(lora_filename):
|
||||||
print(f'Lora file not found: {lora_filename}')
|
print(f'Lora file not found: {lora_filename}')
|
||||||
|
|
|
||||||
|
|
@ -4,22 +4,27 @@
|
||||||
"default_refiner_switch": 0.5,
|
"default_refiner_switch": 0.5,
|
||||||
"default_loras": [
|
"default_loras": [
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -4,22 +4,27 @@
|
||||||
"default_refiner_switch": 0.5,
|
"default_refiner_switch": 0.5,
|
||||||
"default_loras": [
|
"default_loras": [
|
||||||
[
|
[
|
||||||
|
false,
|
||||||
"sd_xl_offset_example-lora_1.0.safetensors",
|
"sd_xl_offset_example-lora_1.0.safetensors",
|
||||||
0.1
|
0.1
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -4,22 +4,27 @@
|
||||||
"default_refiner_switch": 0.5,
|
"default_refiner_switch": 0.5,
|
||||||
"default_loras": [
|
"default_loras": [
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -4,22 +4,27 @@
|
||||||
"default_refiner_switch": 0.5,
|
"default_refiner_switch": 0.5,
|
||||||
"default_loras": [
|
"default_loras": [
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"SDXL_FILM_PHOTOGRAPHY_STYLE_BetaV0.4.safetensors",
|
"SDXL_FILM_PHOTOGRAPHY_STYLE_BetaV0.4.safetensors",
|
||||||
0.25
|
0.25
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -4,22 +4,27 @@
|
||||||
"default_refiner_switch": 0.75,
|
"default_refiner_switch": 0.75,
|
||||||
"default_loras": [
|
"default_loras": [
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"sd_xl_offset_example-lora_1.0.safetensors",
|
"sd_xl_offset_example-lora_1.0.safetensors",
|
||||||
0.5
|
0.5
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
true,
|
||||||
"None",
|
"None",
|
||||||
1.0
|
1.0
|
||||||
]
|
]
|
||||||
|
|
|
||||||
8
webui.py
8
webui.py
|
|
@ -353,15 +353,15 @@ with shared.gradio_root:
|
||||||
with gr.Group():
|
with gr.Group():
|
||||||
lora_ctrls = []
|
lora_ctrls = []
|
||||||
|
|
||||||
for i, (n, v) in enumerate(modules.config.default_loras):
|
for i, (enabled, filename, weight) in enumerate(modules.config.default_loras):
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
lora_enabled = gr.Checkbox(label='Enable', value=True,
|
lora_enabled = gr.Checkbox(label='Enable', value=enabled,
|
||||||
elem_classes=['lora_enable', 'min_check'], scale=1)
|
elem_classes=['lora_enable', 'min_check'], scale=1)
|
||||||
lora_model = gr.Dropdown(label=f'LoRA {i + 1}',
|
lora_model = gr.Dropdown(label=f'LoRA {i + 1}',
|
||||||
choices=['None'] + modules.config.lora_filenames, value=n,
|
choices=['None'] + modules.config.lora_filenames, value=filename,
|
||||||
elem_classes='lora_model', scale=5)
|
elem_classes='lora_model', scale=5)
|
||||||
lora_weight = gr.Slider(label='Weight', minimum=modules.config.default_loras_min_weight,
|
lora_weight = gr.Slider(label='Weight', minimum=modules.config.default_loras_min_weight,
|
||||||
maximum=modules.config.default_loras_max_weight, step=0.01, value=v,
|
maximum=modules.config.default_loras_max_weight, step=0.01, value=weight,
|
||||||
elem_classes='lora_weight', scale=5)
|
elem_classes='lora_weight', scale=5)
|
||||||
lora_ctrls += [lora_enabled, lora_model, lora_weight]
|
lora_ctrls += [lora_enabled, lora_model, lora_weight]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue