Buckets:

hf-doc-build/doc / diffusers /main /tr /api /models /anyflow_transformer3d.md
mishig's picture
|
download
raw
6.23 kB

AnyFlowTransformer3DModel

AnyFlowPipeline tarafından kullanılan çift yönlü 3B Transformer. Yapısal olarak tek bir değişikliğe sahip olan v0.35.1 Wan2.1 omurgasıdır: timestep gömme (embedder) AnyFlowDualTimestepTextImageEmbedding ile değiştirilmiştir, böylece her ileri (forward) çağrısı hem kaynak timestep t hem de hedef timestep r üzerinde koşullanır. Bu, AnyFlow makalesinde tanıtılan $\Phi_{r\leftarrow t}$ akış haritasını öğrenmek için gereken gömmedir. Makale, yazarlar ve yayınlanan checkpoint'ler için AnyFlowPipeline sayfasına bakın.

Parça bazlı otoregresif (FAR nedensel) üretim için bunun yerine AnyFlowFARTransformer3DModel kullanın.

from diffusers import AnyFlowTransformer3DModel

# Bidirectional AnyFlow checkpoint (T2V):
transformer = AnyFlowTransformer3DModel.from_pretrained(
    "nvidia/AnyFlow-Wan2.1-T2V-1.3B-Diffusers", subfolder="transformer"
)

AnyFlowTransformer3DModel[[diffusers.AnyFlowTransformer3DModel]]

diffusers.AnyFlowTransformer3DModel[[diffusers.AnyFlowTransformer3DModel]]

diffusers.AnyFlowTransformer3DModel(patch_size: typing.Tuple[int] = (1, 2, 2), num_attention_heads: int = 40, attention_head_dim: int = 128, in_channels: int = 16, out_channels: int = 16, text_dim: int = 4096, freq_dim: int = 256, ffn_dim: int = 13824, num_layers: int = 40, cross_attn_norm: bool = True, eps: float = 1e-06, image_dim: typing.Optional[int] = None, rope_max_seq_len: int = 1024, gate_value: float = 0.25, deltatime_type: str = 'r')

Kaynak

Parametreler:

patch_size (Tuple[int], varsayılan (1, 2, 2)) : Video gömme için 3B yama boyutları (t_patch, h_patch, w_patch).

num_attention_heads (int, varsayılan 40) : Dikkat başlarının sayısı.

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

in_channels (int, varsayılan 16) : Girdi latentindeki kanal sayısı.

out_channels (int, varsayılan 16) : Çıktı latentindeki kanal sayısı.

text_dim (int, varsayılan 4096) : Metin gömme (UMT5) için giriş boyutu.

freq_dim (int, varsayılan 256) : Sinüzoidal zaman gömme boyutu.

ffn_dim (int, varsayılan 13824) : İleri beslemeli ağdaki ara boyut.

num_layers (int, varsayılan 40) : Transformer bloklarının sayısı.

cross_attn_norm (bool, varsayılan True) : Çapraz dikkat normalizasyonunu etkinleştirir.

eps (float, varsayılan 1e-6) : Normalizasyon katmanları için epsilon.

image_dim (Optional[int], opsiyonel, varsayılan None) : I2V koşullandırma için gömme boyutu (1280 orijinal Wan2.1-I2V modeli için).

rope_max_seq_len (int, varsayılan 1024) : Döner konum frekanslarını önceden hesaplamak için kullanılan maksimum dizi uzunluğu.

gate_value (float, varsayılan 0.25) : Kaynak-adım ve delta-adım gömme değerleri arasındaki karıştırma kapısı (AnyFlow makalesinin gg parametresi, 1. aşama damıtma sırasında 0.25 olarak sabitlenmiştir).

deltatime_type (str, varsayılan 'r') : "r" (delta hedef zaman adımıdır) veya "t-r" (delta mutlak aralıktır).

AnyFlow akış haritası örneklemesi için çift yönlü 3D Transformer.

Mimari, v0.35.1 Wan2.1 3D DiT omurgasıdır ve tek yapısal değişiklik şudur: timestep gömmeleyicisi (timestep embedder), her ileri çağrının hem kaynak timestep t hem de hedef timestep r üzerinde koşullanmasını sağlamak üzere AnyFlowDualTimestepTextImageEmbedding ile değiştirilmiştir. Bu, AnyFlow'da tanıtılan \Phi_{r\leftarrow t} akış haritasını öğrenmek için gereken gömmedir.

Parça bazlı otoregresif (FAR nedensel) üretim için bunun yerine AnyFlowFARTransformer3DModel kullanın; bu varyant, aynı omurga üzerine FAR nedensel blok maskesi ve sıkıştırılmış çerçeve yama gömme ekler.

forward[[diffusers.AnyFlowTransformer3DModel.forward]]

forward(hidden_states: Tensor, timestep: Tensor, r_timestep: Tensor, encoder_hidden_states: Tensor, encoder_hidden_states_image: typing.Optional[torch.Tensor] = None, attention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None, return_dict: bool = True)

Kaynak

Parametreler:

hidden_states (torch.Tensor, şekli (batch_size, num_frames, num_channels, height, width)) : Girdi video latantları.

timestep (torch.Tensor) : Kaynak (daha gürültülü) akış haritası zaman adımı t.

r_timestep (torch.Tensor) : Hedef (daha temiz) akış haritası zaman adımı r; akış haritası adımının varış noktasını tanımlar.

encoder_hidden_states (torch.Tensor, şekli (batch_size, sequence_len, embed_dims)) : Metin koşullu gömme değerleri.

encoder_hidden_states_image (torch.Tensor, opsiyonel) : Görüntü koşullandırma gömme değerleri; sağlandığında metin jetonlarından önce birleştirilir.

attention_kwargs (dict, opsiyonel) : diffusers.models.attention_processor içinde self.processor altında tanımlanan AttentionProcessor'ye iletilen Kwargs.

return_dict (bool, opsiyonel, varsayılan True) : Düz bir tuple yerine [~models.transformer_2d.Transformer2DModelOutput] döndürülüp döndürülmemesi.

Dönüş:

[~models.transformer_2d.Transformer2DModelOutput] return_dict True ise, aksi halde ilk öğesi tahmini hız tensörü olan bir tuple.

Çift yönlü akış haritası ileri geçişi. hidden_states, (B, F, C, H, W) (kare başına latentler) olarak yerleştirilir. Girdi, standart patch_embedding (çekirdek = adım = patch_size) ile parçalanır ve elde edilen düz token dizisi üzerinde küresel çift yönlü öz-dikkat ile gürültüden arındırılır.

Xet Storage Details

Size:
6.23 kB
·
Xet hash:
5a29bfc8a0c7956207f7f16c10eac348f066aeac795a3ce42698069f4ff40575

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.