mirror of
https://github.com/vladmandic/automatic
synced 2026-09-20 01:31:13 +02:00
Fix Diffusers _conv_forward dtype error with IPEX
This commit is contained in:
@@ -202,6 +202,10 @@ if backend == 'ipex':
|
||||
CondFunc('torch.nn.modules.Linear.forward',
|
||||
lambda orig_func, *args, **kwargs: orig_func(args[0], args[1].to(args[0].weight.data.dtype)),
|
||||
lambda *args, **kwargs: args[2].dtype != args[1].weight.data.dtype)
|
||||
#Diffusers bfloat16:
|
||||
CondFunc('torch.nn.modules.Conv2d._conv_forward',
|
||||
lambda orig_func, *args, **kwargs: orig_func(args[0], args[1].to(args[2].data.dtype), args[2], args[3]),
|
||||
lambda *args, **kwargs: args[2].dtype != args[3].data.dtype)
|
||||
#Functions that does not work with the XPU:
|
||||
#UniPC:
|
||||
CondFunc('torch.linalg.solve',
|
||||
|
||||
@@ -744,7 +744,7 @@ def load_diffuser(checkpoint_info=None, already_loaded_state_dict=None, timer=No
|
||||
if not refiner_enough_vram and not (shared.opts.diffusers_move_base and shared.opts.diffusers_move_refiner):
|
||||
shared.log.warning(f"Insufficient GPU memory, using system memory as fallback: free={free_vram} GB")
|
||||
shared.log.debug('Enabled moving base model to CPU')
|
||||
shared.log.debug('Enabled moving base model to CPU')
|
||||
shared.log.debug('Enabled moving refiner model to CPU')
|
||||
shared.opts.diffusers_move_base=True
|
||||
shared.opts.diffusers_move_refiner=True
|
||||
shared.log.debug('Moving base model to CPU')
|
||||
|
||||
Reference in New Issue
Block a user