From e83828b7b28d73b70d85b765c943abc59f86b4c1 Mon Sep 17 00:00:00 2001 From: lllyasviel Date: Sun, 8 Oct 2023 01:15:54 -0700 Subject: [PATCH] fix lowvram (#564) --- fooocus_extras/ip_adapter.py | 8 ++++++-- fooocus_version.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/fooocus_extras/ip_adapter.py b/fooocus_extras/ip_adapter.py index 453afa3..adb554f 100644 --- a/fooocus_extras/ip_adapter.py +++ b/fooocus_extras/ip_adapter.py @@ -179,7 +179,7 @@ def preprocess(img): global ip_unconds inputs = clip_vision.processor(images=img, return_tensors="pt") - comfy.model_management.load_models_gpu([clip_vision.patcher, image_proj_model, ip_layers]) + comfy.model_management.load_model_gpu(clip_vision.patcher) pixel_values = inputs['pixel_values'].to(clip_vision.load_device) if clip_vision.dtype != torch.float32: @@ -195,11 +195,15 @@ def preprocess(img): else: cond = outputs.image_embeds.to(ip_adapter.dtype) + comfy.model_management.load_model_gpu(image_proj_model) + cond = image_proj_model.model(cond).to(device=ip_adapter.load_device, dtype=ip_adapter.dtype) + + comfy.model_management.load_model_gpu(ip_layers) + if ip_unconds is None: uncond = ip_negative.to(device=ip_adapter.load_device, dtype=ip_adapter.dtype) ip_unconds = [m(uncond).cpu() for m in ip_layers.model.to_kvs] - cond = image_proj_model.model(cond).to(device=ip_adapter.load_device, dtype=ip_adapter.dtype) ip_conds = [m(cond).cpu() for m in ip_layers.model.to_kvs] return ip_conds diff --git a/fooocus_version.py b/fooocus_version.py index 7b8301f..70f6a08 100644 --- a/fooocus_version.py +++ b/fooocus_version.py @@ -1 +1 @@ -version = '2.1.3' +version = '2.1.4'