aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAUTOMATIC <16777216c@gmail.com>2022-11-27 13:43:10 +0300
committerAUTOMATIC <16777216c@gmail.com>2022-11-27 13:43:10 +0300
commit10923f9b3a10a9af20429e51242614e259fbd434 (patch)
treea8855751a8ff12ff71f60ddb7da678a7ad6f583c
parent40ca34b837b5068ec35b8d5681bae32cf28f5816 (diff)
calculate dictionary for sampler names only once
-rw-r--r--modules/sd_samplers.py7
-rw-r--r--scripts/xy_grid.py14
2 files changed, 9 insertions, 12 deletions
diff --git a/modules/sd_samplers.py b/modules/sd_samplers.py
index 43ce34eb..6f8ccf1d 100644
--- a/modules/sd_samplers.py
+++ b/modules/sd_samplers.py
@@ -52,6 +52,7 @@ all_samplers_map = {x.name: x for x in all_samplers}
samplers = []
samplers_for_img2img = []
+samplers_map = {}
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_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()
diff --git a/scripts/xy_grid.py b/scripts/xy_grid.py
index 2517c47d..0f27deda 100644
--- a/scripts/xy_grid.py
+++ b/scripts/xy_grid.py
@@ -58,19 +58,10 @@ def apply_order(p, x, xs):
prompt_tmp += part
prompt_tmp += x[idx]
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):
- sampler_name = build_samplers_dict().get(x.lower(), None)
+ sampler_name = sd_samplers.samplers_map.get(x.lower(), None)
if sampler_name is None:
raise RuntimeError(f"Unknown sampler: {x}")
@@ -78,9 +69,8 @@ def apply_sampler(p, x, xs):
def confirm_samplers(p, xs):
- samplers_dict = build_samplers_dict()
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}")