Diffusers documentation

WanAnimateTransformer3DModel

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

WanAnimateTransformer3DModel

Alibaba Wan Team による Wan Animate で、3D ビデオ類似データ向けの Diffusion Transformer モデルが紹介されました。

モデルは、以下のコードスニペットで読み込むことができます。

from diffusers import WanAnimateTransformer3DModel

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

WanAnimateTransformer3DModel

class diffusers.WanAnimateTransformer3DModel

< >

( 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 )

パラメータ

  • patch_size (tuple[int]、デフォルトは (1, 2, 2)) — 動画埋め込み用の3Dパッチ次元 (t_patch, h_patch, w_patch)。
  • num_attention_heads (int、デフォルトは 40) — テキスト埋め込みの固定長です。
  • attention_head_dim (int、デフォルトは128) — 各ヘッドのチャネル数です。
  • in_channels (int, デフォルトは 16) — 入力におけるチャネル数。
  • out_channels (int、デフォルトは16) — 出力のチャネル数です。
  • text_dim (int、デフォルトは512) — テキスト埋め込みの入力次元数。
  • freq_dim (int、デフォルトは256) — 正弦波時間埋め込みの次元数。
  • ffn_dim (int、デフォルトは 13824) — フィードフォワードネットワークの中間次元数。
  • num_layers (int、デフォルトは40) — 使用するtransformerブロックの層数です。
  • window_size (tuple[int], デフォルトは (-1, -1)) — ローカルアテンションのウィンドウサイズです(-1 はグローバルアテンションを示します)。
  • cross_attn_norm (bool、デフォルトはTrue) — クロスアテンションの正規化を有効にします。
  • qk_norm (bool、デフォルトはTrue) — クエリ/キーの正規化を有効にします。
  • eps (float、デフォルト値は 1e-6) — 正規化レイヤー用のエプシロン値です。
  • image_dim (int、任意、デフォルトは 1280) — 画像埋め込みに使用するチャネル数。None の場合、射影は使用されません。
  • added_kv_proj_dim (int、任意、デフォルトは5120) — 追加されるキーおよびバリューの投影に使用するチャネル数。Noneの場合、投影は使用されません。

WanAnimateモデルで使用される、動画のようなデータ向けのTransformerモデル。

forward

< >

( 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

パラメータ

  • hidden_states (torch.Tensor、形状 (B, 2C + 4, T + 1, H, W)) — 形状が (B, 2C + 4, T + 1, H, W) の入力ノイズ付き動画潜在変数です。ここで、B はバッチサイズ、C は潜在チャネル数(Wan VAE では 16)、T は推論セグメント内の潜在フレーム数、H は潜在高さ、W は潜在幅を表します。
  • timestep — (torch.LongTensor): デノイジングループにおける現在のタイムステップ。
  • encoder_hidden_states (torch.Tensor) — テキストエンコーダー(Wan Animate では umT5)からのテキスト埋め込み。
  • encoder_hidden_states_image (torch.Tensor) — 参照(キャラクター)画像の CLIP 視覚特徴量。
  • pose_hidden_states (torch.Tensor、形状 (B, C, T, H, W)) — ポーズ動画の潜在変数。TODO: 説明
  • face_pixel_values (torch.Tensor、形状 (B, C', S, H', W')) — ピクセル空間における顔の動画(潜在空間ではありません)。通常、C’ = 3 であり、H’ と W’ はピクセル単位での顔動画の高さ/幅です。ここで S は推論セグメントの長さであり、通常 77 に設定されます。
  • motion_encode_batch_size (int, 任意) — モーションエンコーダーによる顔動画のバッチエンコーディングにおけるバッチサイズ。設定されていない場合は、self.config.motion_encoder_batch_size がデフォルトとして使用されます。
  • return_dict (bool、任意、デフォルトは True) — 出力を dict として返すか、tuple として返すかを指定します。
  • attention_kwargs (dict, 省略可) — 指定された場合、diffusers.models.attention_processor で定義されている self.processor 内の AttentionProcessor に渡される kwargs 辞書です。

戻り値

~models.transformer_2d.Transformer2DModelOutput または tuple

return_dict が True の場合、sample がノイズ除去された動画の潜在変数である ~models.transformer_2d.Transformer2DModelOutput が返され、それ以外の場合は、そのテンソルが最初の要素である通常の tuple が返されます。

Wan2.2-Animate トランスフォーマーモデルのフォワードパス。

Transformer2DModelOutput

クラス diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

パラメータ

  • sample (torch.Tensor、形状 (batch_size, num_channels, height, width)、または Transformer2DModel が離散型の場合 (batch size, num_vector_embeds - 1, num_latent_pixels)) — encoder_hidden_states 入力を条件とする隠れ状態の出力です。離散型の場合、ノイズ除去されていない潜在ピクセルの確率分布を返します。

Transformer2DModelの出力です。

Update on GitHub