aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-02-19 08:44:40 +0300
committerGitHub <noreply@github.com>2023-02-19 08:44:40 +0300
commitb66b6829aae21adfa73a4e1be3e9633c30f870ef (patch)
tree29ad69ed3c577e3d99dc9ea8086416f6c8246e30
parentb5f69ad6afcdb8ba718da636b4a3f8aad5bd7cbf (diff)
parent0a4917ac4021eb6cf0da27c060c13bdd5b5d2a9f (diff)
Merge pull request #7789 from space-nuko/extra-networks-per-batch
Apply extra networks per-batch instead of per-session (fixes wildcards)
-rw-r--r--modules/processing.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/modules/processing.py b/modules/processing.py
index e1b53ac0..e4b989d4 100644
--- a/modules/processing.py
+++ b/modules/processing.py
@@ -543,8 +543,6 @@ def process_images_inner(p: StableDiffusionProcessing) -> Processed:
if os.path.exists(cmd_opts.embeddings_dir) and not p.do_not_reload_embeddings:
model_hijack.embedding_db.load_textual_inversion_embeddings()
- _, extra_network_data = extra_networks.parse_prompts(p.all_prompts[0:1])
-
if p.scripts is not None:
p.scripts.process(p)
@@ -582,9 +580,6 @@ def process_images_inner(p: StableDiffusionProcessing) -> Processed:
if shared.opts.live_previews_enable and opts.show_progress_type == "Approx NN":
sd_vae_approx.model()
- if not p.disable_extra_networks:
- extra_networks.activate(p, extra_network_data)
-
with open(os.path.join(paths.data_path, "params.txt"), "w", encoding="utf8") as file:
processed = Processed(p, [], p.seed, "")
file.write(processed.infotext(p, 0))
@@ -609,7 +604,11 @@ def process_images_inner(p: StableDiffusionProcessing) -> Processed:
if len(prompts) == 0:
break
- prompts, _ = extra_networks.parse_prompts(prompts)
+ prompts, extra_network_data = extra_networks.parse_prompts(prompts)
+
+ if not p.disable_extra_networks:
+ with devices.autocast():
+ extra_networks.activate(p, extra_network_data)
if p.scripts is not None:
p.scripts.process_batch(p, batch_number=n, prompts=prompts, seeds=seeds, subseeds=subseeds)