From 03d548fb36aeac218e3c2bc8bedce1110aa8597e Mon Sep 17 00:00:00 2001 From: david Date: Tue, 6 Aug 2024 16:33:47 +0800 Subject: [PATCH] fix memory lack error --- comfy/cache.py | 2 ++ comfy/model_management.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/comfy/cache.py b/comfy/cache.py index decf74583..21fc5b7dc 100644 --- a/comfy/cache.py +++ b/comfy/cache.py @@ -45,6 +45,8 @@ class ModelCache: item['sd'] = (keys, values) def cache_clip(self, key, clip_key, clip): + if not self._cache_state: + return item = self._get_item(key) item[clip_key] = clip diff --git a/comfy/model_management.py b/comfy/model_management.py index b6bc1362c..09e73eaf4 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -503,11 +503,11 @@ def cleanup_models(keep_clone_weights_loaded=False): to_delete = [] for i in range(len(current_loaded_models)): - if sys.getrefcount(current_loaded_models[i].model) <= 2: + if sys.getrefcount(current_loaded_models[i].model) <= 3: if not keep_clone_weights_loaded: to_delete = [i] + to_delete # TODO: find a less fragile way to do this. - elif sys.getrefcount(current_loaded_models[i].real_model) <= 3: # references from .real_model + the .model + elif sys.getrefcount(current_loaded_models[i].real_model) <= 4: # references from .real_model + the .model to_delete = [i] + to_delete for i in to_delete: