Skip to content

Commit 92dcf75

Browse files
committed
refactor: deduplicate LTX2 guidance paths
1 parent 55fa53c commit 92dcf75

3 files changed

Lines changed: 252 additions & 192 deletions

File tree

src/maxdiffusion/models/ltx2/transformer_ltx2.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ class LTX2BlockContext:
5555
a2v_cross_attention_mask: Optional[jax.Array] = None
5656
v2a_cross_attention_mask: Optional[jax.Array] = None
5757
perturbation_mask: Optional[jax.Array] = None
58-
cached_kv: Optional[Dict[str, Tuple[jax.Array, jax.Array]]] = None
5958

6059

6160
class LTX2AdaLayerNormSingle(nnx.Module):
@@ -470,6 +469,7 @@ def named_scope(self, name: str):
470469
def __call__(
471470
self,
472471
ctx: "LTX2BlockContext",
472+
cached_kv: Optional[Dict[str, Tuple[jax.Array, jax.Array]]] = None,
473473
) -> Tuple[jax.Array, jax.Array]:
474474
"""
475475
Forward pass of the LTX2 video/audio transformer block.
@@ -512,7 +512,6 @@ def __call__(
512512
a2v_cross_attention_mask = ctx.a2v_cross_attention_mask
513513
v2a_cross_attention_mask = ctx.v2a_cross_attention_mask
514514
perturbation_mask = ctx.perturbation_mask
515-
cached_kv = ctx.cached_kv
516515
batch_size = hidden_states.shape[0]
517516

518517
axis_names = nn.logical_to_mesh_axes(("activation_batch", "activation_length", "activation_embed"))
@@ -1466,20 +1465,17 @@ def __call__(
14661465
a2v_cross_attention_mask=a2v_cross_attention_mask,
14671466
v2a_cross_attention_mask=v2a_cross_attention_mask,
14681467
modality_mask=modality_mask,
1469-
cached_kv=cached_kv,
14701468
)
14711469

14721470
def apply_block(block, context: LTX2BlockContext, mask, block_cached_kv=None):
14731471
orig_perturbation_mask = context.perturbation_mask
1474-
orig_cached_kv = context.cached_kv
1475-
context = context.replace(perturbation_mask=mask, cached_kv=block_cached_kv)
1472+
context = context.replace(perturbation_mask=mask)
14761473
with self.named_scope("Transformer Layer"):
1477-
hidden_states_out, audio_hidden_states_out = block(context)
1474+
hidden_states_out, audio_hidden_states_out = block(context, cached_kv=block_cached_kv)
14781475
context = context.replace(
14791476
hidden_states=hidden_states_out.astype(context.hidden_states.dtype),
14801477
audio_hidden_states=audio_hidden_states_out.astype(context.audio_hidden_states.dtype),
14811478
perturbation_mask=orig_perturbation_mask,
1482-
cached_kv=orig_cached_kv,
14831479
)
14841480
return context
14851481

0 commit comments

Comments
 (0)