Diffusers documentation
LTX2VideoTransformer3DModel
LTX2VideoTransformer3DModel
Lightricks tarafından LTX için 3B verilerde kullanılan bir Diffusion Transformer modeli tanıtıldı.
Model, aşağıdaki kod parçasıyla yüklenebilir.
from diffusers import LTX2VideoTransformer3DModel
transformer = LTX2VideoTransformer3DModel.from_pretrained("Lightricks/LTX-2", subfolder="transformer", dtype=torch.bfloat16).to("cuda") # or "mps", "xpu", "cpu"LTX2VideoTransformer3DModel
sınıf diffusers.LTX2VideoTransformer3DModel
< source >( in_channels: int = 128out_channels: int | None = 128patch_size: int = 1patch_size_t: int = 1num_attention_heads: int = 32attention_head_dim: int = 128cross_attention_dim: int = 4096vae_scale_factors: tuple = (8, 32, 32)pos_embed_max_pos: int = 20base_height: int = 2048base_width: int = 2048gated_attn: bool = Falsecross_attn_mod: bool = Falseaudio_in_channels: int = 128audio_out_channels: int | None = 128audio_patch_size: int = 1audio_patch_size_t: int = 1audio_num_attention_heads: int = 32audio_attention_head_dim: int = 64audio_cross_attention_dim: int = 2048audio_scale_factor: int = 4audio_pos_embed_max_pos: int = 20audio_sampling_rate: int = 16000audio_hop_length: int = 160audio_gated_attn: bool = Falseaudio_cross_attn_mod: bool = Falsenum_layers: int = 48activation_fn: str = 'gelu-approximate'qk_norm: str = 'rms_norm_across_heads'norm_elementwise_affine: bool = Falsenorm_eps: float = 1e-06caption_channels: int = 3840attention_bias: bool = Trueattention_out_bias: bool = Truerope_theta: float = 10000.0rope_double_precision: bool = Truecausal_offset: int = 1timestep_scale_multiplier: int = 1000cross_attn_timestep_scale_multiplier: int = 1000rope_type: str = 'interleaved'use_prompt_embeddings = Trueperturbed_attn: bool = Falseff_bias: bool = Trueaudio_ff_bias: bool = Trueuse_prompt_adaln_single: bool = Trueuse_keyframes_abs_pos_embedding: bool = False )
Parametreler
- in_channels (
int, varsayılan128) — Girdideki kanal sayısı. - out_channels (
int, varsayılan128) — Çıktıdaki kanal sayısı. - patch_size (
int, varsayılan1) — Patch gömme katmanında kullanılacak uzamsal yamaların boyutu. - patch_size_t (
int, varsayılan1) — Yama gömme katmanında kullanılacak zamansal yamaların boyutu. - num_attention_heads (
int, varsayılan32) — Çok başlı dikkat (multi-head attention) için kullanılacak baş sayısı. - attention_head_dim (
int, varsayılan64) — Her baştaki kanal sayısı. - cross_attention_dim (
int, varsayılan2048) — Çapraz dikkat başlıkları için kanal sayısı. - num_layers (
int, varsayılan28) — Kullanılacak Transformer bloklarının 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ılanTrue) — Video ileri beslemeli katmanının doğrusal katmanlarının bir sapma terimi içerip içermediğini belirtir. LTX-2.5 içinFalse. - audio_ff_bias (
bool, varsayılanTrue) — Ses yönlü ileri katmanının doğrusal katmanlarının bir sapma terimi içerip içermediğini belirtir. - use_prompt_adaln_single (
bool, varsayılanTrue) — İfadenin çapraz dikkat Key/Value modülasyonunun zaman adımına (timestep) bağlı olup olmadığı.Falseolduğ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ılanFalse) — Üretilen ana kare (keyframe) jetonları için öğrenilmiş bir(1, inner_dim)mutlak konum gömme (embedding) saklanıp saklanmayacağı (LTX-2.5).Trueolduğunda,video_keyframes_masktarafı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 içinde kullanılan video benzeri veriler için bir Transformer modeli.
forward
< source >( hidden_states: Tensoraudio_hidden_states: Tensorencoder_hidden_states: Tensoraudio_encoder_hidden_states: Tensortimestep: LongTensoraudio_timestep: typing.Optional[torch.LongTensor] = Nonesigma: typing.Optional[torch.Tensor] = Noneaudio_sigma: typing.Optional[torch.Tensor] = Noneencoder_attention_mask: typing.Optional[torch.Tensor] = Noneaudio_encoder_attention_mask: typing.Optional[torch.Tensor] = Nonenum_frames: int | None = Noneheight: int | None = Nonewidth: int | None = Nonefps: float = 24.0audio_num_frames: int | None = Nonevideo_coords: typing.Optional[torch.Tensor] = Noneaudio_coords: typing.Optional[torch.Tensor] = Noneisolate_modalities: bool = Falsespatio_temporal_guidance_blocks: list[int] | None = Noneperturbation_mask: typing.Optional[torch.Tensor] = Noneuse_cross_timestep: bool = Falseattention_kwargs: dict[str, typing.Any] | None = Nonevideo_self_attention_mask: typing.Optional[torch.Tensor] = Nonevideo_keyframes_mask: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = True ) → AudioVisualModelOutput or tuple
Parametreler
- hidden_states (
torch.Tensor) —(batch_size, num_video_tokens, in_channels)biçiminde girdi patchified video latents. - 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 giriş 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ş timestep. Bunlar zatenself.config.timestep_scale_multiplierile ölçeklenmiş olmalıdır. - audio_timestep (
torch.Tensor, isteğe bağlı) — Ses modülasyonu parametreleri için(batch_size,)veya(batch_size, num_audio_tokens)biçiminde giriş timestep. Bu, I2V pipeline gibi belirli pipeline'lar tarafından kullanılır. - sigma (
torch.Tensor, isteğe bağlı) — Şekli (batch_size,) olan, ö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çeklenmiş giriş timestep'i. LTX-2.3 gibi modellerde ses promptu çapraz dikkat modülasyonu için kullanılır.sigmasağlanıpaudio_sigmasağlanmazsa,audio_sigmasağlanansigmadeğerine ayarlanır. - encoder_attention_mask (
torch.Tensor, isteğe bağlı) —(batch_size, text_seq_len)biçiminde 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ılan24.0): Oluşturulan 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,(batch_size, 3, num_video_tokens, 2)biçimindeki video koordinatları. Sağlanmazsa, bu değerforwardiçinde hesaplanır. - audio_coords (
torch.Tensor, isteğe bağlı) — Döner konumsal gömme (RoPE) hesaplanırken kullanılacak,(batch_size, 1, num_audio_tokens, 2)biçimindeki ses koordinatları. Sağlanmazsa, bu değerforwardiçinde hesaplanır. - isolate_modalities (
bool, isteğe bağlı, varsayılanFalse) — Çapraz modalite (ses-videodan ve video-sese) çapraz dikkat mekanizmalarını (tüm bloklar için) devre dışı bırakarak her bir modaliteyi izole edip etmeyeceğini belirler. LTX-2.3'te modalite yönlendirmesi için kullanılır. - spatio_temporal_guidance_blocks (
list[int], isteğe bağlı, varsayılanNone) — Uzamsal-zamansal yönlendirmenin (STG) uygulanacağı transformer blok dizinleri. STG, tam ölçekli nokta çarpımı dikkati (SDPA) işlemi yerine yalnızca değerleri kullanarak öz-dikkat işlemlerini kısaltır.Noneveya boşsa, STG hiçbir bloğa uygulanmaz. - perturbation_mask (
torch.Tensor, isteğe bağlı) — STG için(batch_size,)veya(batch_size, 1, 1)biçiminde bir bozma maskesi. STG'nin uygulanması gereken batch öğelerinde 0, diğer yerlerde 1 olmalıdır. STG kullanılıyorsa ancakperturbation_masksağlanmıyorsa, varsayılan olarak STG (bozma) tüm batch öğelerine uygulanır. - use_cross_timestep (
boolisteğe bağlı, varsayılanFalse) — Çapraz dikkat modülasyon parametrelerini hesaplarırken çapraz modalite (video için çapraz modalite ses, bunun tersi de geçerlidir) sigma değerinin kullanılıp kullanılmayacağını belirtir.Truedaha yeni (ör. LTX-2.3) davranıştır;Falseise eski LTX-2.0 davranışıdır. - attention_kwargs (
dict[str, Any], isteğe bağlı) — Dikkat işlemcisine iletilecek isteğe bağlı anahtar-argüman 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;1tam dikkat,0ise 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ı) —(batch_size, num_video_tokens, 1)biçiminde, tek bir 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 jetonlarkeyframes_abs_pos_embeddingalır. Modeluse_keyframes_abs_pos_embeddingolmadan oluşturulduysa yok sayılır. - return_dict (
bool, isteğe bağlı, varsayılanTrue) —AudioVisualModelOutputtü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üş değeri
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ş.