Diffusers documentation

AnyFlowTransformer3DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AnyFlowTransformer3DModel

tarafından kullanılan çift yönlü 3B Transformer AnyFlowPipeline. Bu, yapısal olarak tek bir değişikliğe sahip olan v0.35.1 Wan2.1 omurgasıdır: timestep gömme (embedder) yerine AnyFlowDualTimestepTextImageEmbedding, geçirildiği için her ileri (forward) çağrısı hem kaynak timestep t hem de hedef timestep r. üzerinde koşullanır. Bu, Φr←t\Phi_{r\leftarrow t} içinde tanıtılan akış haritasını öğrenmek için gereken gömmedir AnyFlow. makale, yazarlar ve yayınlanan checkpoint'ler için bkz. AnyFlowPipeline sayfası

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

sınıf diffusers.AnyFlowTransformer3DModel

< >

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

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şlıkları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 girdi boyutu (UMT5).
  • 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], isteğe bağlı, 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, defaults to 0.25) — Mixing gate between source-timestep and delta-timestep embeddings (the AnyFlow paper’s{@html "ggg"} parameter, fixed at 0.25 in stage-1 distillation).
  • deltatime_type (str, varsayılan ‘r’) — Ya "r" (delta hedef zaman adımını temsil eder) ya da "t-r" (delta mutlak aralığı temsil eder).

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

Mimari, v0.35.1 Wan2.1 3D DiT omurgasına dayanır ve tek yapısal değişiklik olarak timestep gömme birimi (timestep embedder) şu sınıfla değiştirilmiştir: AnyFlowDualTimestepTextImageEmbedding böylece her ileri çağrı, kaynak timestep t ve hedef timestep r. değerlerine göre koşullandırılır. Bu, akış haritasını öğrenmek için gereken gömmedir:Φr←t\Phi_{r\leftarrow t} AnyFlow'da tanıtılan AnyFlow.

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

< >

( hidden_states: Tensortimestep: Tensorr_timestep: Tensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Noneattention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = Nonereturn_dict: bool = True )

Parametreler

  • hidden_states (torch.Tensor, şekli (batch_size, num_frames, num_channels, height, width)) — Girdi video latentleri.
  • 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şullandırma gömme değerleri.
  • encoder_hidden_states_image (torch.Tensor, opsiyonel) — Görsel koşullandırma gömülmeleri; 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, isteğe bağlı, varsayılan True) — Düz bir tuple yerine [~models.transformer_2d.Transformer2DModelOutput] döndürülüp döndürülmemesi.

Ç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.

Update on GitHub