separate model type detection for base and refiner

This commit is contained in:
Vladimir Mandic
2023-08-29 17:36:07 -04:00
parent fd57787557
commit 7dc4460fdc
4 changed files with 57 additions and 28 deletions
+11 -7
View File
@@ -129,23 +129,27 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro
negative_pooled = None
prompts, negative_prompts, prompts_2, negative_prompts_2 = fix_prompts(prompts, negative_prompts, prompts_2, negative_prompts_2)
if shared.opts.prompt_attention in {'Compel parser', 'Full parser'}:
prompt_embed, pooled, negative_embed, negative_pooled = prompt_parser_diffusers.compel_encode_prompts(model, prompts, negative_prompts,
prompts_2, negative_prompts_2,
is_refiner, kwargs.pop("clip_skip", None))
prompt_embed, pooled, negative_embed, negative_pooled = prompt_parser_diffusers.compel_encode_prompts(model, prompts, negative_prompts, prompts_2, negative_prompts_2, is_refiner, kwargs.pop("clip_skip", None))
if 'prompt' in possible:
if hasattr(model, 'text_encoder') and 'prompt_embeds' in possible and prompt_embed is not None:
args['prompt_embeds'] = prompt_embed
if shared.sd_model_type == "sdxl":
if not is_refiner and shared.sd_model_type == "sdxl":
args['pooled_prompt_embeds'] = pooled
args['prompt_2'] = None #Cannot pass prompts when passing embeds
# args['prompt_2'] = None # Cannot pass prompts when passing embeds
if is_refiner and shared.sd_refiner_type == "sdxl":
args['pooled_prompt_embeds'] = pooled
# args['prompt_2'] = None # Cannot pass prompts when passing embeds
else:
args['prompt'] = prompts
if 'negative_prompt' in possible:
if hasattr(model, 'text_encoder') and 'negative_prompt_embeds' in possible and negative_embed is not None:
args['negative_prompt_embeds'] = negative_embed
if shared.sd_model_type == "sdxl":
if not is_refiner and shared.sd_model_type == "sdxl":
args['negative_pooled_prompt_embeds'] = negative_pooled
args['negative_prompt_2'] = None
# args['negative_prompt_2'] = None
if is_refiner and shared.sd_refiner_type == "sdxl":
args['negative_pooled_prompt_embeds'] = negative_pooled
# args['negative_prompt_2'] = None
else:
args['negative_prompt'] = negative_prompts
if 'num_inference_steps' in possible: