Diffusers documentation
WanAnimateTransformer3DModel
WanAnimateTransformer3DModel
Alibaba Wan Team tarafından Wan Animate ile 3D video benzeri veriler için bir Diffusion Transformer modeli tanıtıldı.
Model, aşağıdaki kod parçasıyla yüklenebilir.
from diffusers import WanAnimateTransformer3DModel
transformer = WanAnimateTransformer3DModel.from_pretrained("Wan-AI/Wan2.2-Animate-14B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)WanAnimateTransformer3DModel
sınıf diffusers.WanAnimateTransformer3DModel
< source >( patch_size: tuple = (1, 2, 2)num_attention_heads: int = 40attention_head_dim: int = 128in_channels: int | None = 36latent_channels: int | None = 16out_channels: int | None = 16text_dim: int = 4096freq_dim: int = 256ffn_dim: int = 13824num_layers: int = 40cross_attn_norm: bool = Trueqk_norm: str | None = 'rms_norm_across_heads'eps: float = 1e-06image_dim: int | None = 1280added_kv_proj_dim: int | None = Nonerope_max_seq_len: int = 1024pos_embed_seq_len: int | None = Nonemotion_encoder_channel_sizes: dict[str, int] | None = Nonemotion_encoder_size: int = 512motion_style_dim: int = 512motion_dim: int = 20motion_encoder_dim: int = 512face_encoder_hidden_dim: int = 1024face_encoder_num_heads: int = 4inject_face_latents_blocks: int = 5motion_encoder_batch_size: int = 8 )
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ılan40) — Metin gömme vektörleri için sabit uzunluk. - attention_head_dim (
int, varsayılan128) — Her baştaki kanal sayısı. - in_channels (
int, varsayılan16) — Girdideki kanal sayısı. - out_channels (
int, varsayılan16) — Çıktıdaki kanal sayısı. - text_dim (
int, varsayılan512) — Metin gömme girdi boyutu. - freq_dim (
int, varsayılan256) — Sinüzoidal zaman gömme boyutu. - ffn_dim (
int, varsayılan13824) — İleri beslemeli ağdaki ara boyut. - num_layers (
int, varsayılan40) — Kullanılacak transformer bloğu katman sayısı. - window_size (
tuple[int], varsayılan(-1, -1)) — Yerel dikkat için pencere boyutu (-1, global dikkat olduğunu belirtir). - cross_attn_norm (
bool, varsayılanTrue) — Çapraz dikkat normalizasyonunu etkinleştirir. - qk_norm (
bool, varsayılanTrue) — Sorgu/anahtar normalizasyonunu etkinleştirir. - eps (
float, varsayılan1e-6) — Normalizasyon katmanları için epsilon değeri. - image_dim (
int, isteğe bağlı, varsayılan1280) — Görsel gömme için kullanılacak kanal sayısı.Noneise projeksiyon kullanılmaz. - added_kv_proj_dim (
int, isteğe bağlı, varsayılan5120) — Eklenen anahtar ve değer projeksiyonları için kullanılacak kanal sayısı.Noneise projeksiyon kullanılmaz.
WanAnimate modelinde kullanılan, video benzeri veriler için bir Transformer modeli.
forward
< source >( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Nonepose_hidden_states: typing.Optional[torch.Tensor] = Noneface_pixel_values: typing.Optional[torch.Tensor] = Nonemotion_encode_batch_size: int | None = Nonereturn_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = None ) → ~models.transformer_2d.Transformer2DModelOutput or tuple
Parametreler
- hidden_states (
torch.Tensor, şekli(B, 2C + 4, T + 1, H, W)) — Şekli(B, 2C + 4, T + 1, H, W)olan gürültülü video latentleri girişi; burada B parti boyutu, C latent kanal sayısı (Wan VAE için 16), T bir çıkarım segmentindeki latent kare sayısı, H latent yükseklik ve W latent genişliktir. - timestep — (
torch.LongTensor): Gürültü azaltma döngüsündeki mevcut zaman adımı. - encoder_hidden_states (
torch.Tensor) — Metin kodlayıcıdan gelen metin gömme değerleri (Wan Animate için umT5). - encoder_hidden_states_image (
torch.Tensor) — Referans (karakter) görselinin CLIP görsel özellikleri. - pose_hidden_states (
torch.Tensor, şekli(B, C, T, H, W)) — Pose video latantları. TODO: açıklama - face_pixel_values (
torch.Tensor, şekli(B, C', S, H', W')) — Piksel uzayındaki yüz videosu (latent uzayda değil). Genellikle C’ = 3 ve H’ ile W’, yüz videosunun piksel cinsinden yükseklik/genişliğidir. Burada S, çıkarım segment uzunluğudur ve genellikle 77 olarak ayarlanır. - motion_encode_batch_size (
int, isteğe bağlı) — Yüz videosunun hareket kodlayıcı (motion encoder) ile toplu kodlanmasında kullanılan parti boyutu. Ayarlanmazsaself.config.motion_encoder_batch_sizevarsayılan olarak kullanılır. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Çıktının sözlük (dict) mi yoksa demet (tuple) olarak mı döndürüleceğini belirtir. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindekiself.processoraltında tanımlananAttentionProcessor'a iletilen bir kwargs sözlüğü.
Dönüş değeri
~models.transformer_2d.Transformer2DModelOutput veya tuple
return_dict True ise, sample alanı gürültüsü azaltılmış video latentini içeren bir ~models.transformer_2d.Transformer2DModelOutput döndürülür; aksi halde ilk öğesi bu tensör olan düz bir tuple döndürülür.
Wan2.2-Animate dönüştürücü modelinin ileri geçişi.
Transformer2DModelOutput
sınıf diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( 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_statesgirdisine 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ı.