calculate dictionary for sampler names only once

This commit is contained in:
AUTOMATIC 2022-11-27 13:43:10 +03:00
parent 40ca34b837
commit 10923f9b3a
2 changed files with 9 additions and 12 deletions

View File

@ -52,6 +52,7 @@ all_samplers_map = {x.name: x for x in all_samplers}
samplers = [] samplers = []
samplers_for_img2img = [] samplers_for_img2img = []
samplers_map = {}
def create_sampler(name, model): def create_sampler(name, model):
@ -77,6 +78,12 @@ def set_samplers():
samplers = [x for x in all_samplers if x.name not in hidden] samplers = [x for x in all_samplers if x.name not in hidden]
samplers_for_img2img = [x for x in all_samplers if x.name not in hidden_img2img] samplers_for_img2img = [x for x in all_samplers if x.name not in hidden_img2img]
samplers_map.clear()
for sampler in all_samplers:
samplers_map[sampler.name.lower()] = sampler.name
for alias in sampler.aliases:
samplers_map[alias.lower()] = sampler.name
set_samplers() set_samplers()

View File

@ -60,17 +60,8 @@ def apply_order(p, x, xs):
p.prompt = prompt_tmp + p.prompt p.prompt = prompt_tmp + p.prompt
def build_samplers_dict():
samplers_dict = {}
for sampler in sd_samplers.all_samplers:
samplers_dict[sampler.name.lower()] = sampler.name
for alias in sampler.aliases:
samplers_dict[alias.lower()] = sampler.name
return samplers_dict
def apply_sampler(p, x, xs): def apply_sampler(p, x, xs):
sampler_name = build_samplers_dict().get(x.lower(), None) sampler_name = sd_samplers.samplers_map.get(x.lower(), None)
if sampler_name is None: if sampler_name is None:
raise RuntimeError(f"Unknown sampler: {x}") raise RuntimeError(f"Unknown sampler: {x}")
@ -78,9 +69,8 @@ def apply_sampler(p, x, xs):
def confirm_samplers(p, xs): def confirm_samplers(p, xs):
samplers_dict = build_samplers_dict()
for x in xs: for x in xs:
if x.lower() not in samplers_dict: if x.lower() not in sd_samplers.samplers_map:
raise RuntimeError(f"Unknown sampler: {x}") raise RuntimeError(f"Unknown sampler: {x}")