From fe6b232db357319b09cef85d90d44bf1f964028b Mon Sep 17 00:00:00 2001 From: "curious.jp" <48515264+curiousjp@users.noreply.github.com> Date: Mon, 7 Oct 2024 07:30:07 +1100 Subject: [PATCH 1/2] only cleanup where prompt graph exists --- efficiency_nodes.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/efficiency_nodes.py b/efficiency_nodes.py index 4da7490..09f3db5 100644 --- a/efficiency_nodes.py +++ b/efficiency_nodes.py @@ -134,7 +134,8 @@ def efficientloader(self, ckpt_name, vae_name, clip_skip, lora_name, lora_model_ ascore=None, prompt=None, my_unique_id=None, loader_type="regular"): # Clean globally stored objects - globals_cleanup(prompt) + if prompt: + globals_cleanup(prompt) # Create Empty Latent latent = torch.zeros([batch_size, 4, empty_latent_height // 8, empty_latent_width // 8]).cpu() @@ -722,7 +723,8 @@ def calculate_sigmas(model_sampling, scheduler_name: str, steps): # --------------------------------------------------------------------------------------------------------------- # Clean globally stored objects of non-existant nodes - globals_cleanup(prompt) + if prompt: + globals_cleanup(prompt) # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # If not XY Plotting From 046fcc554e134bfa971a5f32b648a283b97efa52 Mon Sep 17 00:00:00 2001 From: "curious.jp" <48515264+curiousjp@users.noreply.github.com> Date: Mon, 14 Oct 2024 19:27:37 +1100 Subject: [PATCH 2/2] added latent shape to cache key --- efficiency_nodes.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/efficiency_nodes.py b/efficiency_nodes.py index 09f3db5..3d1f696 100644 --- a/efficiency_nodes.py +++ b/efficiency_nodes.py @@ -518,6 +518,7 @@ def calculate_sigmas(model_sampling, scheduler_name: str, steps): # ------------------------------------------------------------------------------------------------------ # Store run parameters as strings. Load previous stored samples if all parameters match. latent_image_hash = tensor_to_hash(latent_image["samples"]) + latent_image_shape = latent_image["samples"].shape positive_hash = tensor_to_hash(positive[0][0]) negative_hash = tensor_to_hash(negative[0][0]) refiner_positive_hash = tensor_to_hash(refiner_positive[0][0]) if refiner_positive is not None else None @@ -528,7 +529,7 @@ def calculate_sigmas(model_sampling, scheduler_name: str, steps): else [original_model_str] parameters = [model_identifier] + [seed, steps, cfg, sampler_name, scheduler, positive_hash, negative_hash, - latent_image_hash, denoise, sampler_type, add_noise, start_at_step, + latent_image_hash, latent_image_shape, denoise, sampler_type, add_noise, start_at_step, end_at_step, return_with_leftover_noise, refiner_model, refiner_positive_hash, refiner_negative_hash, rng_source, cfg_denoiser, add_seed_noise, m_seed, m_weight]