From 16b714ac48049a820e7df95e9451bd9ee83f28e8 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Wed, 27 Mar 2024 22:24:37 +0300 Subject: [PATCH] Pass device to Model CPU Offload --- modules/sd_models.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/sd_models.py b/modules/sd_models.py index 8da3b2645..57f6cfa6b 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -685,7 +685,12 @@ def set_diffuser_options(sd_model, vae = None, op: str = 'model'): shared.opts.diffusers_move_refiner = False shared.log.warning(f'Disabling {op} "Move model to CPU" since "Model CPU offload" is enabled') if not hasattr(sd_model, "_all_hooks") or len(sd_model._all_hooks) == 0: # pylint: disable=protected-access - sd_model.enable_model_cpu_offload() + if "Combined" in sd_model.__class__.__name__: + # remove after new diffusers release: + # https://github.com/huggingface/diffusers/pull/7471 + sd_model.enable_model_cpu_offload() + else: + sd_model.enable_model_cpu_offload(device=devices.device) else: sd_model.maybe_free_model_hooks() sd_model.has_accelerate = True