# LTX2VideoTransformer3DModel

Lightricks tarafından [LTX](https://huggingface.co/Lightricks/LTX-2) için 3B verilerde kullanılan bir Diffusion Transformer modeli tanıtıldı.

Model, aşağıdaki kod parçasıyla yüklenebilir.

```python
from diffusers import LTX2VideoTransformer3DModel

transformer = LTX2VideoTransformer3DModel.from_pretrained("Lightricks/LTX-2", subfolder="transformer", dtype=torch.bfloat16).to("cuda")  # or "mps", "xpu", "cpu"
```

## LTX2VideoTransformer3DModel[[diffusers.LTX2VideoTransformer3DModel]]

#### diffusers.LTX2VideoTransformer3DModel[[diffusers.LTX2VideoTransformer3DModel]]

```python
diffusers.LTX2VideoTransformer3DModel(in_channels: int = 128, out_channels: int | None = 128, patch_size: int = 1, patch_size_t: int = 1, num_attention_heads: int = 32, attention_head_dim: int = 128, cross_attention_dim: int = 4096, vae_scale_factors: tuple = (8, 32, 32), pos_embed_max_pos: int = 20, base_height: int = 2048, base_width: int = 2048, gated_attn: bool = False, cross_attn_mod: bool = False, audio_in_channels: int = 128, audio_out_channels: int | None = 128, audio_patch_size: int = 1, audio_patch_size_t: int = 1, audio_num_attention_heads: int = 32, audio_attention_head_dim: int = 64, audio_cross_attention_dim: int = 2048, audio_scale_factor: int = 4, audio_pos_embed_max_pos: int = 20, audio_sampling_rate: int = 16000, audio_hop_length: int = 160, audio_gated_attn: bool = False, audio_cross_attn_mod: bool = False, num_layers: int = 48, activation_fn: str = 'gelu-approximate', qk_norm: str = 'rms_norm_across_heads', norm_elementwise_affine: bool = False, norm_eps: float = 1e-06, caption_channels: int = 3840, attention_bias: bool = True, attention_out_bias: bool = True, rope_theta: float = 10000.0, rope_double_precision: bool = True, causal_offset: int = 1, timestep_scale_multiplier: int = 1000, cross_attn_timestep_scale_multiplier: int = 1000, rope_type: str = 'interleaved', use_prompt_embeddings = True, perturbed_attn: bool = False, ff_bias: bool = True, audio_ff_bias: bool = True, use_prompt_adaln_single: bool = True, use_keyframes_abs_pos_embedding: bool = False)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_ltx2.py#L1081)

**Parametreler:**

in_channels (`int`, varsayılan `128`) : Girdideki kanal sayısı.

out_channels (`int`, varsayılan `128`) : Çıktıdaki kanal sayısı.

patch_size (`int`, varsayılan `1`) : Yama gömme katmanında kullanılacak uzamsal yamaların boyutu.

patch_size_t (`int`, varsayılan `1`) : Yama gömme katmanında kullanılacak zamansal yamaların boyutu.

num_attention_heads (`int`, varsayılan `32`) : Çok başlı dikkat için kullanılacak baş sayısı.

attention_head_dim (`int`, varsayılan `64`) : Her baştaki kanal sayısı.

cross_attention_dim (`int`, varsayılan `2048 `) : Çapraz dikkat başlıkları için kanal sayısı.

num_layers (`int`, varsayılan `28`) : Kullanılacak Transformer bloğu katman sayısı.

activation_fn (`str`, varsayılan `"gelu-approximate"`) : İleri beslemeli ağda kullanılacak aktivasyon fonksiyonu.

qk_norm (`str`, varsayılan `"rms_norm_across_heads"`) : Kullanılacak normalizasyon katmanı.

ff_bias (`bool`, varsayılan `True`) : Video ileri besleme katmanının doğrusal katmanlarının bir sapma (bias) terimi içerip içermediğini belirtir. LTX-2.5 için `False`.

audio_ff_bias (`bool`, varsayılan `True`) : Ses yönlü ileri besleme katmanının doğrusal katmanlarının bir sapma (bias) terimi içerip içermediğini belirtir.

use_prompt_adaln_single (`bool`, varsayılan `True`) : İfadenin çapraz-dikkat Key/Value modülasyonunun zaman adımı (timestep) bağımlı olup olmadığı. `False` olduğunda, bunun yerine katman başına sabit bir tablo kullanılır; bu da belirli bir ifade için çapraz-dikkat Key/Value değerlerinin gürültü azaltma (denoising) adımları arasında önbelleğe alınabilir olmasını sağlar.

use_keyframes_abs_pos_embedding (`bool`, varsayılan `False`) : Üretilen anahtar kare (keyframe) jetonları için öğrenilmiş `(1, inner_dim)` mutlak konum gömme (embedding) saklanıp saklanmayacağını belirtir (LTX-2.5). `True` olduğunda, `video_keyframes_mask` tarafından seçilen jetonlar bu gömme değerini alır. Argüman isteğe bağlıdır; atlanması, damıtılmış ileri (forward) yolunu değiştirmez.

[LTX](https://huggingface.co/Lightricks/LTX-Video) içinde kullanılan video benzeri veriler için bir Transformer modeli.

#### forward[[diffusers.LTX2VideoTransformer3DModel.forward]]

```python
forward(hidden_states: Tensor, audio_hidden_states: Tensor, encoder_hidden_states: Tensor, audio_encoder_hidden_states: Tensor, timestep: LongTensor, audio_timestep: typing.Optional[torch.LongTensor] = None, sigma: typing.Optional[torch.Tensor] = None, audio_sigma: typing.Optional[torch.Tensor] = None, encoder_attention_mask: typing.Optional[torch.Tensor] = None, audio_encoder_attention_mask: typing.Optional[torch.Tensor] = None, num_frames: int | None = None, height: int | None = None, width: int | None = None, fps: float = 24.0, audio_num_frames: int | None = None, video_coords: typing.Optional[torch.Tensor] = None, audio_coords: typing.Optional[torch.Tensor] = None, isolate_modalities: bool = False, spatio_temporal_guidance_blocks: list[int] | None = None, perturbation_mask: typing.Optional[torch.Tensor] = None, use_cross_timestep: bool = False, attention_kwargs: dict[str, typing.Any] | None = None, video_self_attention_mask: typing.Optional[torch.Tensor] = None, video_keyframes_mask: typing.Optional[torch.Tensor] = None, return_dict: bool = True)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_ltx2.py#L1365)

**Parametreler:**

hidden_states (`torch.Tensor`) : `(batch_size, num_video_tokens, in_channels)` biçiminde girdi patch'lenmiş video latentleri.

audio_hidden_states (`torch.Tensor`) : `(batch_size, num_audio_tokens, audio_in_channels)` biçiminde girdi patch'lenmiş ses latentleri.

encoder_hidden_states (`torch.Tensor`) : `(batch_size, text_seq_len, self.config.caption_channels)` biçiminde girdi video metin gömme değerleri.

audio_encoder_hidden_states (`torch.Tensor`) : `(batch_size, text_seq_len, self.config.caption_channels)` biçiminde girdi ses metin gömme değerleri.

timestep (`torch.Tensor`) : `(batch_size, num_video_tokens)` biçiminde giriş zaman adımı. Bunlar zaten `self.config.timestep_scale_multiplier` ile ölçeklenmiş olmalıdır.

audio_timestep (`torch.Tensor`, *isteğe bağlı*) : Şekli `(batch_size,)` veya ses modülasyon parametreleri için `(batch_size, num_audio_tokens)` olan giriş zaman adımı. Bu, I2V hattı gibi belirli hatlar tarafından kullanılır.

sigma (`torch.Tensor`, *isteğe bağlı*) : (batch_size,) biçiminde ölçeklendirilmiş giriş zaman adımı. LTX-2.3 gibi modellerde video istemi çapraz dikkat modülasyonu için kullanılır.

audio_sigma (`torch.Tensor`, *isteğe bağlı*) : (batch_size,) biçiminde, ölçeklendirilmiş giriş zaman adımı. LTX-2.3 gibi modellerde ses istemi çapraz dikkat modülasyonu için kullanılır. `sigma` sağlanıp `audio_sigma` sağlanmazsa, `audio_sigma`, verilen `sigma` değerine ayarlanır.

encoder_attention_mask (`torch.Tensor`, *isteğe bağlı*) : Şekli `(batch_size, text_seq_len)` olan isteğe bağlı çarpımsal metin dikkat maskesi.

audio_encoder_attention_mask (`torch.Tensor`, *isteğe bağlı*) : Ses modelleme için `(batch_size, text_seq_len)` biçiminde isteğe bağlı çarpımsal metin dikkat maskesi.

num_frames (`int`, *isteğe bağlı*) : Gizli video karelerinin sayısı. RoPE için video koordinatları hesaplanırken kullanılır.

height (`int`, *isteğe bağlı*) : Gizli video yüksekliği. RoPE için video koordinatları hesaplanırken kullanılır.

width (`int`, *isteğe bağlı*) : Gizli video genişliği. RoPE için video koordinatları hesaplanırken kullanılır.

fps : (`float`, *isteğe bağlı*, varsayılan `24.0`): Üretilen videonun istenen saniye başına kare sayısı. RoPE için video koordinatları hesaplanırken kullanılır.

audio_num_frames : (`int`, *isteğe bağlı*): Gizli ses karelerinin sayısı. RoPE için ses koordinatları hesaplanırken kullanılır.

video_coords (`torch.Tensor`, *isteğe bağlı*) : Döner konumsal gömme (RoPE) hesaplanırken kullanılacak video koordinatları, şekli `(batch_size, 3, num_video_tokens, 2)`. Verilmezse, bu değer `forward` içinde hesaplanır.

audio_coords (`torch.Tensor`, *isteğe bağlı*) : Döner konumsal gömme (RoPE) hesaplanırken kullanılacak ses koordinatları, şekli `(batch_size, 1, num_audio_tokens, 2)`. Verilmezse, bu değer `forward` içinde hesaplanır.

isolate_modalities (`bool`, *isteğe bağlı*, varsayılan `False`) : Her modaliteyi, çapraz modalite (ses-videodan ve video-sese) çapraz dikkat mekanizmasını (tüm bloklar için) devre dışı bırakarak izole edip etmeyeceğini belirtir. LTX-2.3'te modalite yönlendirmesi için kullanılır.

spatio_temporal_guidance_blocks (`list[int]`, *isteğe bağlı*, varsayılan `None`) : Uzamsal-zamansal yönlendirmenin (STG) uygulanacağı transformer blok dizinleri. STG, ölçekli nokta çarpımı dikkati (SDPA) işlemi yerine yalnızca değerleri kullanarak öz-dikkat işlemlerini kısaltır. `None` veya boşsa, STG hiçbir bloğa uygulanmaz.

perturbation_mask (`torch.Tensor`, *isteğe bağlı*) : `(batch_size,)` veya `(batch_size, 1, 1)` biçiminde STG için bozma maskesi. STG'nin uygulanması gereken batch öğelerinde 0, diğer yerlerde 1 olmalıdır. STG kullanılıyorsa ancak `perturbation_mask` sağlanmıyorsa, varsayılan olarak STG (bozma) tüm batch öğelerine uygulanır.

use_cross_timestep (`bool` *opsiyonel*, varsayılan `False`) : Çapraz dikkat modülasyon parametrelerini hesaplanırken çapraz modalite (video için çapraz modalite ses, ve bunun tersi) sigma'sının kullanılıp kullanılmayacağı. `True` daha yeni (ör. LTX-2.3) davranıştır; `False` ise eski LTX-2.0 davranışıdır.

attention_kwargs (`dict[str, Any]`, *isteğe bağlı*) : Dikkat işlemcisine (attention processor) iletilecek isteğe bağlı anahtar argümanlar sözlüğü.

video_self_attention_mask (`torch.Tensor`, *isteğe bağlı*) : Her transformer bloğundaki video öz-dikkatine uygulanan, `(batch_size, num_video_tokens, num_video_tokens)` biçiminde isteğe bağlı çarpımsal öz-dikkat maskesi. `[0, 1]` aralığında değerler alır; `1` tam dikkat, `0` ise maskelenmiş anlamına gelir. Örneğin, IC-LoRA hattında gürültülü token'lar ile eklenen referans token'ları arasındaki dikkat gücünü kontrol etmek için kullanılır. Ses öz-dikkati etkilenmez.

video_keyframes_mask (`torch.Tensor`, *isteğe bağlı*) : Şekli `(batch_size, num_video_tokens, 1)` olan, tek piksel çerçevesi kodlayan gizli çerçevelere sahip video jetonlarında sıfır olmayan isteğe bağlı jeton başına işaretçi. Bu jetonlar `keyframes_abs_pos_embedding` alır. Model `use_keyframes_abs_pos_embedding` olmadan oluşturulduysa yok sayılır.

return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : `AudioVisualModelOutput` türünde sözlük benzeri yapılandırılmış bir çıktı mı yoksa bir demet mi döndürüleceğini belirtir.

**Dönüş:** `AudioVisualModelOutput` veya `tuple`

`return_dict` `True` ise, `AudioVisualModelOutput` türünde yapılandırılmış bir çıktı döndürülür; aksi halde bir `tuple` döndürülür ve bu yapının ilk öğesi gürültüsü azaltılmış video latent yama dizisi, ikinci öğesi ise gürültüsü azaltılmış ses latent yama dizisidir.

LTX-2.0 sesli-görsel video dönüştürücüsü için ileri geçiş.

