xyz grid add lora selector

This commit is contained in:
Vladimir Mandic
2024-06-22 18:40:06 -04:00
parent a09fc2d32e
commit e8165c3d63
3 changed files with 18 additions and 1 deletions
+16
View File
@@ -65,6 +65,7 @@ def apply_sampler(p, x, xs):
else:
p.sampler_name = sampler_name
def apply_hr_sampler_name(p, x, xs):
hr_sampler_name = sd_samplers.samplers_map.get(x.lower(), None)
if hr_sampler_name is None:
@@ -72,6 +73,7 @@ def apply_hr_sampler_name(p, x, xs):
else:
p.hr_sampler_name = hr_sampler_name
def confirm_samplers(p, xs):
for x in xs:
if x.lower() not in sd_samplers.samplers_map:
@@ -138,6 +140,19 @@ def apply_vae(p, x, xs):
sd_vae.reload_vae_weights(shared.sd_model, vae_file=find_vae(x))
def list_lora():
import sys
lora = [v for k, v in sys.modules.items() if k == 'networks'][0]
loras = [v.name for v in lora.available_networks.values()]
return ['None'] + loras
def apply_lora(p, x, xs):
if x == 'None':
return
p.prompt = p.prompt + f" <lora:{x}:{shared.opts.extra_networks_default_multiplier}>"
def apply_te(p, x, xs):
shared.opts.data["sd_text_encoder"] = x
sd_models.reload_text_encoder()
@@ -235,6 +250,7 @@ axis_options = [
AxisOption("Prompt S/R", str, apply_prompt, fmt=format_value),
AxisOption("Model", str, apply_checkpoint, fmt=format_value, cost=1.0, choices=lambda: sorted(sd_models.checkpoints_list)),
AxisOption("VAE", str, apply_vae, cost=0.7, choices=lambda: ['None'] + list(sd_vae.vae_dict)),
AxisOption("LoRA", str, apply_lora, cost=0.5, choices=list_lora),
AxisOption("Text encoder", str, apply_te, cost=0.7, choices=lambda: ['None', 'T5 FP4', 'T5 FP8', 'T5 FP16']),
AxisOption("Styles", str, apply_styles, choices=lambda: [s.name for s in shared.prompt_styles.styles.values()]),
AxisOption("Seed", int, apply_field("seed")),