Diffusers documentation

WanAnimate2Transformer3DModel

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

WanAnimate2Transformer3DModel

Alibaba Wan Team tarafından Wan-Animate-2'de kullanılan, 3D video benzeri veriler için bir Diffusion Transformer modeli. Bir karakter görselini, sürücü videonun hareketiyle bir bağlam içi referans mekanizması aracılığıyla canlandırır: her segment önce, her katmanın referans K/V değerlerini önbelleğe alan bir referans geçişi (kv_cache_mode="extract") çalıştırır, ardından gürültü giderme geçişleri (kv_cache_mode="cached") bir esnek BlockMask üzerinden üretim jetonları ve önbelleğe alınmış referans jetonları üzerinde ortak olarak dikkat uygular.

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

from diffusers import WanAnimate2Transformer3DModel

transformer = WanAnimate2Transformer3DModel.from_pretrained("Wan-AI/Wan2.2-Animate-2-14B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)

WanAnimate2Transformer3DModel

sınıf diffusers.WanAnimate2Transformer3DModel

< >

( patch_size: tuple = (1, 2, 2)text_len: int = 512in_dim: int = 36dim: int = 5120ffn_dim: int = 13824freq_dim: int = 256text_dim: int = 4096out_dim: int = 16num_heads: int = 40num_layers: int = 40cross_attn_norm: bool = Trueeps: float = 1e-06use_img_emb: bool = Truerefer_offset_t: int = 1refer_offset_h: int = 0refer_offset_w: int = -1refer_stride: int = 1 )

Parametreler

  • patch_size (tuple[int], varsayılan (1, 2, 2)) — Video gömme için 3B yama boyutları (t_patch, h_patch, w_patch).
  • text_len (int, varsayılan 512) — Metin gömme (embedding) için sabit uzunluk.
  • in_dim (int, varsayılan 36) — Girdideki kanal sayısı (maske kanalı için 2 * latent_channels + 4).
  • dim (int, varsayılan 5120) — Transformer'daki kanal sayısı.
  • ffn_dim (int, varsayılan 13824) — İleri beslemeli ağdaki ara boyut.
  • freq_dim (int, varsayılan 256) — Sinüzoidal zaman gömme boyutu.
  • text_dim (int, varsayılan 4096) — Metin gömme girdi boyutu.
  • out_dim (int, varsayılan 16) — Çıktıdaki kanal sayısı.
  • num_heads (int, varsayılan 40) — Dikkat başlarının sayısı.
  • num_layers (int, varsayılan 40) — Kullanılacak transformer bloğu katman 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 değeri.
  • use_img_emb (bool, varsayılan True) — CLIP gömme görselini kullanıp kullanmayacağı.
  • refer_offset_t (int, varsayılan 1) — Referansın zaman boyutu için RoPE ofseti.
  • refer_offset_h (int, varsayılan 0) — Referansın yükseklik boyutu için RoPE ofseti.
  • refer_offset_w (int, varsayılan -1) — Referansın genişlik boyutu için RoPE ofseti. -1, üretim ızgarası boyutunun kullanılacağı anlamına gelir.
  • refer_stride (int, varsayılan 1) — Referans üzerinde RoPE uygulaması için adım (stride).

Wan-Animate-2 modelinde kullanılan, video benzeri veriler için bir Transformer modeli.

Wan-Animate-2, KV önbelleği ile bağlam içi dikkat mekanizması kullanır: bir referans video önce kodlanır (kv_cache_mode="extract") ve [WanAnimate2KVCache] doldurulur, ardından her gürültü azaltma adımı (kv_cache_mode="cached"), esnek BlockMask üzerinden üretim jetonları ve önbelleğe alınmış referans K/V üzerinde ortak olarak dikkat uygular. Bu nedenle üretim öz-dikkati yalnızca flex dikkat arka ucunda çalışır; modeldeki diğer tüm dikkat mekanizmaları herhangi bir arka uçta çalışır.

forward

< >

( hidden_states: listtimestep: Tensorencoder_hidden_states: listcondition_latents: listkv_cache: WanAnimate2KVCachekv_cache_mode: strseq_len: intencoder_hidden_states_image: typing.Optional[torch.Tensor] = Noneoffset_grid_sizes: typing.Optional[torch.Tensor] = Nonereference_grid_sizes: typing.Optional[torch.Tensor] = Noneorigin_len: int | None = Noneorigin_area: list[int] | None = Noneis_uncondtion: bool = Falsereturn_dict: bool = True ) → Transformer2DModelOutput or tuple(list[torch.Tensor])

Parametreler

  • hidden_states (list[torch.Tensor]) — Bu geçiş için latentler — kv_cache_mode="extract" durumunda referans latentler, kv_cache_mode="cached" durumunda gürültülü üretim latentleri.
  • timestep (torch.Tensor) — Gürültü azaltma zaman adımı. kv_cache_mode="extract" altında yok sayılır; bu mod sabit bir zaman adımı olan 1'i kullanır.
  • encoder_hidden_states (list[torch.Tensor]) — Bu geçiş için metin gömme değerleri.
  • condition_latents (list[torch.Tensor]) — Patch embedding öncesinde hidden_states ile birleştirilen koşullama latentleri.
  • kv_cache (WanAnimate2KVCache) — kv_cache_mode="extract" altında yazılır, "cached" altında okunur.
  • kv_cache_mode (str) — "extract" referans geçişini çalıştırır ve kv_cache alanını doldurur; "cached" önbelleğe alınmış referans token'lar üzerinde bir gürültü azaltma adımı çalıştırır.
  • seq_len (int) — Patch gömme işleminden sonra her örneğin sahip olması gereken token sayısı.
  • encoder_hidden_states_image (torch.Tensor, isteğe bağlı) — Model use_img_emb ile yapılandırıldığında kullanılan CLIP gömme vektörleri.
  • offset_grid_sizes (torch.Tensor, isteğe bağlı) — Referans latentlerin yama ızgarası, -1 olarak ayarlanmış herhangi bir refer_offset_* değerini çözmek için kullanılır. kv_cache_mode="extract" altında zorunludur; "cached" altında ise reference_grid_sizes aynı ızgarayı tanımlar ve bunun yerine kullanılır.
  • reference_grid_sizes (torch.Tensor, isteğe bağlı) — Referans latentlerin yama ızgarası, referans döner gömme (rotary embeddings) için kullanılır. kv_cache_mode="cached" altında zorunludur.
  • origin_len (int, isteğe bağlı) — Bağlam içi blok maskesinin oluşturulduğu tam videonun kare sayısı. kv_cache_mode="cached" altında zorunludur.
  • origin_area (list[int], isteğe bağlı) — Tam videonun [height, width] boyutundaki uzamsal alanı; bağlam içi blok maskesi bu alan üzerinde oluşturulur. kv_cache_mode="cached" altında zorunludur.
  • is_uncondtion (bool, isteğe bağlı) — Bu, classifier-free guidance'ın koşulsuz dalı olup olmadığı.
  • 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ülmediğini belirtir.

Dönüş değeri

Transformer2DModelOutput veya tuple(list[torch.Tensor])

Her giriş latent için tahmin edilen örnek, yamalanmamış; return_dict False ise düz bir tuple.

Transformer2DModelOutput

sınıf diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Parametreler

  • sample (torch.Tensor, şekli (batch_size, num_channels, height, width) veya Transformer2DModel ayrık (discrete) ise (batch size, num_vector_embeds - 1, num_latent_pixels)) — encoder_hidden_states girdisine koşullu gizli durum (hidden states) çıktısı. Ayrık (discrete) ise, gürültüsü kaldırılmış (unnoised) gizli (latent) pikseller için olasılık dağıtımlarını döndürür.

Transformer2DModel'nin çıktısı.

Update on GitHub