From 38c6dbdd4aa9e3b3ad0d9ce2e1869bee81dae3bf Mon Sep 17 00:00:00 2001 From: Disty0 Date: Mon, 10 Jun 2024 18:36:57 +0300 Subject: [PATCH] Don't force empty padding on Cascade --- modules/prompt_parser_diffusers.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/prompt_parser_diffusers.py b/modules/prompt_parser_diffusers.py index c44c5652f..426003bfb 100644 --- a/modules/prompt_parser_diffusers.py +++ b/modules/prompt_parser_diffusers.py @@ -219,11 +219,14 @@ def pad_to_same_length(pipe, embeds): if not hasattr(pipe, 'encode_prompt') and 'StableCascade' not in pipe.__class__.__name__: return embeds device = pipe.device if str(pipe.device) != 'meta' else devices.device - if shared.opts.diffusers_empty_prompt_pad or 'StableCascade' in pipe.__class__.__name__: + if shared.opts.diffusers_empty_prompt_pad: empty_embed = [torch.empty((1, 77, embeds[0].shape[2]), device=device, dtype=embeds[0].dtype)] else: try: - empty_embed = pipe.encode_prompt("") + if 'StableCascade' in pipe.__class__.__name__: + empty_embed = [torch.zeros((1, 77, embeds[0].shape[2]), device=device, dtype=embeds[0].dtype)] + else: + empty_embed = pipe.encode_prompt("") except TypeError: # SD1.5 empty_embed = pipe.encode_prompt("", device, 1, False) max_token_count = max([embed.shape[1] for embed in embeds])