feat: improve performance, do not reload the pipeline when prompts are the same as in the original task

This commit is contained in:
Manuel Schmid
2024-06-16 22:18:11 +02:00
parent 33a9c156ad
commit e300930298
+7 -3
View File
@@ -897,12 +897,12 @@ def worker():
'face') 'face')
return base_model_additional_loras, clip_vision_path, controlnet_canny_path, controlnet_cpds_path, inpaint_head_model_path, inpaint_image, inpaint_mask, ip_adapter_face_path, ip_adapter_path, ip_negative_path, skip_prompt_processing, use_synthetic_refiner return base_model_additional_loras, clip_vision_path, controlnet_canny_path, controlnet_cpds_path, inpaint_head_model_path, inpaint_image, inpaint_mask, ip_adapter_face_path, ip_adapter_path, ip_negative_path, skip_prompt_processing, use_synthetic_refiner
def prepare_enhance_prompt(prompt: str, fallback_prompt: str, translate: bool, type: str): def prepare_enhance_prompt(prompt: str, fallback_prompt: str, translate: bool, prompt_type: str):
if len(remove_empty_str([safe_str(p) for p in prompt.splitlines()], default='')) == 0: if safe_str(prompt) == '' or len(remove_empty_str([safe_str(p) for p in prompt.splitlines()], default='')) == 0:
prompt = fallback_prompt prompt = fallback_prompt
else: else:
if translate: if translate:
prompt = translate2en(prompt, type) prompt = translate2en(prompt, prompt_type)
prompt = prompt + '\n' + fallback_prompt prompt = prompt + '\n' + fallback_prompt
return prompt return prompt
@@ -1134,6 +1134,10 @@ def worker():
enhance_prompt = prepare_enhance_prompt(enhance_prompt, async_task.prompt, async_task.translate_prompts, 'prompt') enhance_prompt = prepare_enhance_prompt(enhance_prompt, async_task.prompt, async_task.translate_prompts, 'prompt')
enhance_negative_prompt = prepare_enhance_prompt(enhance_negative_prompt, async_task.negative_prompt, async_task.translate_prompts, 'negative prompt') enhance_negative_prompt = prepare_enhance_prompt(enhance_negative_prompt, async_task.negative_prompt, async_task.translate_prompts, 'negative prompt')
if not inpaint_parameterized_enhance and enhance_prompt == async_task.prompt and enhance_negative_prompt == async_task.negative_prompt:
task_enhance = task.copy()
tasks_enhance = tasks.copy()
else:
tasks_enhance, use_expansion, loras = process_prompt(async_task, enhance_prompt, tasks_enhance, use_expansion, loras = process_prompt(async_task, enhance_prompt,
enhance_negative_prompt, enhance_negative_prompt,
base_model_additional_loras_enhance, base_model_additional_loras_enhance,