diff --git a/installer.py b/installer.py index b4bfb7444..1376a5d33 100644 --- a/installer.py +++ b/installer.py @@ -186,6 +186,8 @@ def install(package, friendly: str = None, ignore: bool = False): if args.reinstall or args.upgrade: global quick_allowed # pylint: disable=global-statement quick_allowed = False + if args.use_ipex and "accelerate==" in package: + package = "accelerate==0.20.3" if args.reinstall or not installed(package, friendly): pip(f"install --upgrade {package}", ignore=ignore) diff --git a/modules/lora_diffusers.py b/modules/lora_diffusers.py index 816ff788b..f8ab54dde 100644 --- a/modules/lora_diffusers.py +++ b/modules/lora_diffusers.py @@ -58,7 +58,7 @@ def load_diffusers_lora(name, lora, strength = 1.0): if shared.opts.diffusers_lora_loader == "merge and apply": lora_network.merge_to(multiplier=strength) if shared.opts.diffusers_lora_loader == "sequential apply": - lora_network.to(pipe.device, dtype=pipe.unet.dtype) + lora_network.to(shared.device, dtype=pipe.unet.dtype) lora_network.apply_to(multiplier=strength) lora_state['all_loras'].append(lora_network) shared.log.info(f"Diffusers LoRA loaded: {name} {strength}") diff --git a/modules/prompt_parser_diffusers.py b/modules/prompt_parser_diffusers.py index be9f17fff..559845059 100644 --- a/modules/prompt_parser_diffusers.py +++ b/modules/prompt_parser_diffusers.py @@ -3,7 +3,6 @@ import typing import torch import diffusers from compel import Compel, ReturnedEmbeddingsType -import modules.devices as devices import modules.shared as shared import modules.prompt_parser as prompt_parser @@ -55,9 +54,10 @@ def compel_encode_prompts( negative_pooleds.append(negative_pooled) prompt_embeds = torch.cat(prompt_embeds, dim=0) - positive_pooleds = torch.cat(positive_pooleds, dim=0) negative_embeds = torch.cat(negative_embeds, dim=0) - negative_pooleds = torch.cat(negative_pooleds, dim=0) + if shared.sd_model_type == "sdxl": + positive_pooleds = torch.cat(positive_pooleds, dim=0) + negative_pooleds = torch.cat(negative_pooleds, dim=0) return prompt_embeds, positive_pooleds, negative_embeds, negative_pooleds @@ -94,7 +94,7 @@ def compel_encode_prompt( text_encoder=pipeline.text_encoder, returned_embeddings_type=embedding_type, requires_pooled=False, - device=devices.device + device=shared.device ) if shared.sd_model_type == "sdxl": @@ -103,7 +103,7 @@ def compel_encode_prompt( text_encoder=pipeline.text_encoder_2, returned_embeddings_type=embedding_type, requires_pooled=True, - device=devices.device + device=shared.device ) if not is_refiner: positive_te1 = compel_te1(prompt)