feat: add button to enable LoRAs (#2210)

* Initial commit

* Update README.md

* sync with original main Fooocus repo

* update with my gitignore setup

* add max lora config feature

* Revert "add max lora config feature"

This reverts commit cfe7463fe2.

* add lora enabler feature

* Update README.md

* Update .gitignore

* update

* merge

* revert changes

* revert

* feat: change width of LoRA columns

* refactor: rename lora_enable to lora_enabled, optimize code

---------

Co-authored-by: Manuel Schmid <manuel.schmid@odt.net>
This commit is contained in:
MindOfMatter
2024-02-25 19:59:28 +01:00
committed by GitHub
co-authored by Manuel Schmid
parent eebd7752ab
commit 468d704b29
4 changed files with 43 additions and 6 deletions
+9 -1
View File
@@ -115,6 +115,14 @@ def worker():
# must use deep copy otherwise gradio is super laggy. Do not use list.append() .
async_task.results = async_task.results + [wall]
return
def apply_enabled_loras(loras):
enabled_loras = []
for lora_enabled, lora_model, lora_weight in loras:
if lora_enabled:
enabled_loras.append([lora_model, lora_weight])
return enabled_loras
@torch.no_grad()
@torch.inference_mode()
@@ -137,7 +145,7 @@ def worker():
base_model_name = args.pop()
refiner_model_name = args.pop()
refiner_switch = args.pop()
loras = [[str(args.pop()), float(args.pop())] for _ in range(5)]
loras = apply_enabled_loras([[bool(args.pop()), str(args.pop()), float(args.pop()), ] for _ in range(5)])
input_image_checkbox = args.pop()
current_tab = args.pop()
uov_method = args.pop()
+24
View File
@@ -112,6 +112,30 @@ progress::after {
margin-left: -5px !important;
}
.lora_enable {
flex-grow: 1 !important;
}
.lora_enable label {
height: 100%;
}
.lora_enable label input {
margin: auto;
}
.lora_enable label span {
display: none;
}
.lora_model {
flex-grow: 5 !important;
}
.lora_weight {
flex-grow: 5 !important;
}
'''
progress_html = '''
<div class="loader-container">
+4 -2
View File
@@ -139,10 +139,12 @@ def load_parameter_button_click(raw_prompt_txt, is_generating):
try:
n, w = loaded_parameter_dict.get(f'LoRA {i}').split(' : ')
w = float(w)
results.append(True)
results.append(n)
results.append(w)
except:
results.append(gr.update())
results.append(gr.update())
results.append(True)
results.append("None")
results.append(1.0)
return results