From aefff3796e5219ffc3e519d94a7e667834331740 Mon Sep 17 00:00:00 2001 From: kijai <40791699+kijai@users.noreply.github.com> Date: Sun, 28 Sep 2025 11:21:05 +0300 Subject: [PATCH] uncond --- nodes_sampler.py | 11 +++++++++++ wanvideo/modules/model.py | 4 +++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/nodes_sampler.py b/nodes_sampler.py index a8a58ab..11bd40c 100644 --- a/nodes_sampler.py +++ b/nodes_sampler.py @@ -1014,10 +1014,21 @@ class WanVideoSampler: seq_len=math.ceil((lynx_ref_latent.shape[2] * lynx_ref_latent.shape[3]) / 4 * lynx_ref_latent.shape[1]), lynx_embeds=lynx_embeds ) + if not math.isclose(cfg[0], 1.0): + lynx_ref_buffer_uncond = transformer( + [lynx_ref_latent.to(device, dtype) * 0], + torch.tensor([0], device=device), + lynx_ref_text_embed["prompt_embeds"], + seq_len=math.ceil((lynx_ref_latent.shape[2] * lynx_ref_latent.shape[3]) / 4 * lynx_ref_latent.shape[1]), + lynx_embeds=lynx_embeds, + is_uncond=True + ) + log.info(f"Extracted {len(lynx_ref_buffer)} ref buffers") lynx_embeds["ref_feature_extractor"] = False lynx_embeds["ref_latent"] = lynx_embeds["ref_text_embed"] = None lynx_embeds["ref_buffer"] = lynx_ref_buffer + lynx_embeds["ref_buffer_uncond"] = lynx_ref_buffer_uncond if not math.isclose(cfg[0], 1.0) else None mm.soft_empty_cache() #region model pred diff --git a/wanvideo/modules/model.py b/wanvideo/modules/model.py index 24d8a88..563de48 100644 --- a/wanvideo/modules/model.py +++ b/wanvideo/modules/model.py @@ -2114,13 +2114,15 @@ class WanModel(torch.nn.Module): if (lynx_embeds['start_percent'] <= current_step_percentage <= lynx_embeds['end_percent']) and not lynx_ref_feature_extractor: if not is_uncond: lynx_x_ip = lynx_embeds.get("ip_x", None) + lynx_ref_buffer = lynx_embeds.get("ref_buffer", None) else: lynx_x_ip = lynx_embeds.get("ip_x_uncond", None) + lynx_ref_buffer = lynx_embeds.get("ref_buffer_uncond", None) lynx_x_ip = lynx_x_ip.to(self.main_device) if lynx_x_ip is not None else None lynx_ip_scale = lynx_embeds.get("ip_scale", 1.0) lynx_ref_scale = lynx_embeds.get("ref_scale", 1.0) - lynx_ref_buffer = lynx_embeds.get("ref_buffer", None) + #s2v if self.model_type == 's2v' and s2v_audio_input is not None: