From 79d4e81984171a047d6c71d97a67dda7dd87c43c Mon Sep 17 00:00:00 2001 From: AUTOMATIC1111 <16777216c@gmail.com> Date: Tue, 15 Aug 2023 08:46:17 +0300 Subject: [PATCH] fix processing error that happens if batch_size is not a multiple of how many prompts/negative prompts there are #12509 --- modules/processing.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/processing.py b/modules/processing.py index 25a19a778..1d098302e 100755 --- a/modules/processing.py +++ b/modules/processing.py @@ -382,13 +382,18 @@ class StableDiffusionProcessing: def setup_prompts(self): if type(self.prompt) == list: self.all_prompts = self.prompt + elif type(self.negative_prompt) == list: + self.all_prompts = [self.prompt] * len(self.negative_prompt) else: self.all_prompts = self.batch_size * self.n_iter * [self.prompt] if type(self.negative_prompt) == list: self.all_negative_prompts = self.negative_prompt else: - self.all_negative_prompts = self.batch_size * self.n_iter * [self.negative_prompt] + self.all_negative_prompts = [self.negative_prompt] * len(self.all_prompts) + + if len(self.all_prompts) != len(self.all_negative_prompts): + raise RuntimeError(f"Received a different number of prompts ({len(self.all_prompts)}) and negative prompts ({len(self.all_negative_prompts)})") self.all_prompts = [shared.prompt_styles.apply_styles_to_prompt(x, self.styles) for x in self.all_prompts] self.all_negative_prompts = [shared.prompt_styles.apply_negative_styles_to_prompt(x, self.styles) for x in self.all_negative_prompts]