fix processing error that happens if batch_size is not a multiple of how many prompts/negative prompts there are #12509

This commit is contained in:
AUTOMATIC1111 2023-08-15 08:46:17 +03:00
parent 7e77a38cbc
commit 79d4e81984
1 changed files with 6 additions and 1 deletions

View File

@ -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]