Buckets:
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]]
diffusers.WanAnimateTransformer3DModel[[diffusers.WanAnimateTransformer3DModel]]
diffusers.WanAnimateTransformer3DModel(patch_size: tuple[int] = (1, 2, 2), num_attention_heads: int = 40, attention_head_dim: int = 128, in_channels: int | None = 36, latent_channels: int | None = 16, out_channels: int | None = 16, text_dim: int = 4096, freq_dim: int = 256, ffn_dim: int = 13824, num_layers: int = 40, cross_attn_norm: bool = True, qk_norm: str | None = 'rms_norm_across_heads', eps: float = 1e-06, image_dim: int | None = 1280, added_kv_proj_dim: int | None = None, rope_max_seq_len: int = 1024, pos_embed_seq_len: int | None = None, motion_encoder_channel_sizes: dict[str, int] | None = None, motion_encoder_size: int = 512, motion_style_dim: int = 512, motion_dim: int = 20, motion_encoder_dim: int = 512, face_encoder_hidden_dim: int = 1024, face_encoder_num_heads: int = 4, inject_face_latents_blocks: int = 5, motion_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) : Включает нормализацию запросов/ключей.
eps (float, по умолчанию 1e-6) : Значение эпсилона для слоёв нормализации.
image_dim (int, optional, по умолчанию 1280) : Количество каналов, используемых для встраивания изображения. Если None, проекция не применяется.
added_kv_proj_dim (int, optional, по умолчанию 5120) : Количество каналов, используемых для добавленных проекций ключей и значений. Если None, проекция не используется.
Модель Transformer для видео-подобных данных, используемая в модели WanAnimate.
forward[[diffusers.WanAnimateTransformer3DModel.forward]]
forward(hidden_states: Tensor, timestep: LongTensor, encoder_hidden_states: Tensor, encoder_hidden_states_image: typing.Optional[torch.Tensor] = None, pose_hidden_states: typing.Optional[torch.Tensor] = None, face_pixel_values: typing.Optional[torch.Tensor] = None, motion_encode_batch_size: int | None = None, return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None)
Параметры:
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, optional) : Размер батча для пакетного кодирования видео лица с помощью motion encoder. Если не задан, по умолчанию используется 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]]
diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.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.
Xet Storage Details
- Size:
- 8.9 kB
- Xet hash:
- 115d6ab5deb92ba9c0e4f93e041915470b5b438893b35da47fc543a72d578df4
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.