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.43.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

WanAnimateTransformer3DModel

Модель Diffusion Transformer для 3D-видеоподобных данных была представлена в Wan Animate командой Alibaba Wan Team.

Модель можно загрузить с помощью следующего фрагмента кода.

from diffusers import WanAnimateTransformer3DModel

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

WanAnimateTransformer3DModel

класс diffusers.WanAnimateTransformer3DModel

< >

( patch_size: tuple[int] = (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) — Количество блоков трансформера, которые будут использоваться.
  • window_size (tuple[int], по умолчанию (-1, -1)) — Размер окна для локального внимания (-1 означает глобальное внимание).
  • cross_attn_norm (bool, по умолчанию True) — Включает нормализацию кросс-внимания.
  • qk_norm (bool, по умолчанию True) — Включает нормализацию query/key.
  • eps (float, по умолчанию 1e-6) — Значение эпсилона для слоёв нормализации.
  • image_dim (int, необязательный, по умолчанию 1280) — Количество каналов, используемых для встраивания изображения. Если None, проекция не применяется.
  • added_kv_proj_dim (int, необязательный, по умолчанию 5120) — Количество каналов, используемых для добавленных проекций ключей и значений. Если None, проекция не используется.

Модель Transformer для видео-подобных данных, используемая в модели WanAnimate.

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 — число латентных каналов (16 для Wan VAE), T — число латентных кадров в сегменте инференса, H — латентная высота, а W — латентная ширина.
  • timestep — (torch.LongTensor): Текущий шаг в цикле удаления шума.
  • encoder_hidden_states (torch.Tensor) — Векторные представления текста из текстового энкодера (umT5 для Wan Animate).
  • 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, необязательный) — Размер батча для пакетного кодирования видео лица с помощью motion-энкодера. Если не задано, по умолчанию используется self.config.motion_encoder_batch_size.
  • return_dict (bool, необязательный, по умолчанию True) — Определяет, возвращать ли результат в виде словаря или кортежа.
  • attention_kwargs (dict, необязательный) — Словарь kwargs, который при указании передается в AttentionProcessor, определенный в self.processor в diffusers.models.attention_processor.

Возвращает

~models.transformer_2d.Transformer2DModelOutput или tuple

Если return_dict равно True, возвращается ~models.transformer_2d.Transformer2DModelOutput, у которого sample представляет собой латентное представление видео после шумоподавления, в противном случае возвращается обычный tuple, первым элементом которого является этот тензор.

Прямой проход трансформерной модели Wan2.2-Animate.

Transformer2DModelOutput

класс diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Параметры

  • sample (torch.Tensor формы (batch_size, num_channels, height, width) или (batch size, num_vector_embeds - 1, num_latent_pixels), если Transformer2DModel дискретный) — Выходные скрытые состояния, обусловленные входом encoder_hidden_states. Если модель дискретная, возвращает распределения вероятностей для латентных пикселей без шума.

Вывод Transformer2DModel.

Update on GitHub